Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Apropos / Subsearch:
optional field

URI::QueryParam(3pm)  User Contributed Perl Documentation URI::QueryParam(3pm)

       URI::QueryParam - Additional query methods for URIs

         use URI;
         use URI::QueryParam;

         $u = URI->new("", "http");
         $u->query_param(foo => 1, 2, 3);
         print $u->query;    # prints foo=1&foo=2&foo=3

         for my $key ($u->query_param) {
             print "$key: ", join(", ", $u->query_param($key)), "\n";

       Loading the "URI::QueryParam" module adds some extra methods to URIs
       that support query methods.  These methods provide an alternative
       interface to the $u->query_form data.

       The query_param_* methods have deliberately been made identical to the
       interface of the corresponding "CGI.pm" methods.

       The following additional methods are made available:

       @keys = $u->query_param
       @values = $u->query_param( $key )
       $first_value = $u->query_param( $key )
       $u->query_param( $key, $value,... )
           If $u->query_param is called with no arguments, it returns all the
           distinct parameter keys of the URI.  In a scalar context it returns
           the number of distinct keys.

           When a $key argument is given, the method returns the parameter
           values with the given key.  In a scalar context, only the first
           parameter value is returned.

           If additional arguments are given, they are used to update succes-
           sive parameters with the given key.  If any of the values provided
           are array references, then the array is dereferenced to get the
           actual values.

       $u->query_param_append($key, $value,...)
           Adds new parameters with the given key without touching any old
           parameters with the same key.  It can be explained as a more effi-
           cient version of:


           One difference is that this expression would return the old values
           of $key, whereas the query_param_append() method does not.

       @values = $u->query_param_delete($key)
       $first_value = $u->query_param_delete($key)
           Deletes all key/value pairs with the given key.  The old values are
           returned.  In a scalar context, only the first value is returned.

           Using the query_param_delete() method is slightly more efficient
           than the equivalent:

              $u->query_param($key, []);

       $hashref = $u->query_form_hash
       $u->query_form_hash( \%new_form )
           Returns a reference to a hash that represents the query form's
           key/value pairs.  If a key occurs multiple times, then the hash
           value becomes an array reference.

           Note that sequence information is lost.  This means that:


           is not necessarily a no-op, as it may reorder the key/value pairs.
           The values returned by the query_param() method should stay the
           same though.

       URI, CGI

       Copyright 2002 Gisle Aas.

perl v5.8.8                       2004-01-14              URI::QueryParam(3pm)