home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-10 | 739 b | 29 lines | [TEXT/McPL] |
- # NOTE: Derived from ./blib/lib/URI/URL/_generic.pm. Changes made here will be lost.
- package URI::URL::_generic;
-
- sub query {
- my $self = shift;
- my $old = $self->_elem('query', map { uri_escape($_, $URI::URL::reserved_no_form) } @_);
- if (defined $old) {
- if ($old =~ /%(?:26|2[bB]|3[dD])/) { # contains escaped '=' '&' or '+'
- my $mess;
- for ($old) {
- $mess = "Query contains both '+' and '%2B'"
- if /\+/ && /%2[bB]/;
- $mess = "Form query contains escaped '=' or '&'"
- if /=/ && /%(?:3[dD]|26)/;
- }
- if ($mess) {
- Carp::croak("$mess (you must call equery)");
- }
- }
- # Now it should be safe to unescape the string without loosing
- # information
- return uri_unescape($old);
- }
- undef;
-
- }
-
- 1;
-