If you want to include an ampersand in a query string argument, the easiest way is to hex-encode it, the same way spaces are done. Spaces (decimal 32, hex 20) are encoded as %20 in URIs, which I'm sure you've seen at some point (here on Perlmonks if nowhere else). I think ampersand would be %26 if I've done the conversion correctly. Of course, whatever you use to get the query args has to know how to unencode this; if you are using a well-known module, that should not be a problem.
HTH.HAND
update:
I neglected to mention that the browser should do this
conversion automatically, if you put the thing in the
value attribute of a hidden field (or, for that matter,
any form field at all (update2: though yes,
you'd need to encode the entities in that case
(presumably with HTML::Entities))).
However, if you're
putting it in an href, then you have to (hex) encode it
first. Some of the CGI-related modules may
provide functions for doing this (update3:
such as URI::Escape), but it's also pretty
trivial to do by hand, along the lines of this
(which, however, I have not extensively tested):
In reply to Re: Using url_param()s with &
by jonadab
in thread Using url_param()s with &
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |