In a URL which contains a query string, if the string has multiple parts separated by ampersands and it contains a key named "reg", for example http://my.site.com/foo.pl?foo=bar®=foobar, then some browsers will interpret ® as an SGML entity and encode it as ®. This will result in a corrupted QUERY_STRING. If you encounter this problem, then either you should avoid using such keys or you should separate parameter pairs with ; instead of &. CGI.pm, Apache::Request and $r->args() support a semicolon instead of an ampersand as a separator. So your URI should look like this: http://my.site.com/foo.pl?foo=bar;reg=foobar.
http://my.site.com/foo.pl?foo=bar®=foobar
®
®
QUERY_STRING
;
&
CGI.pm
Apache::Request
$r->args()
http://my.site.com/foo.pl?foo=bar;reg=foobar
Note that this is only an issue when you are building your own URLs with query strings. It is not a problem when the URL is the result of submitting a form because the browsers have to get that right.
One problem with publishing 8080 port numbers (or so I have been told) is that IE 4.x has a bug when re-posting data to a non-port-80 URL. It drops the port designator and uses port 80 anyway.
See Publishing Port Numbers other than 80.
To install Apache::mod_perl_guide, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Apache::mod_perl_guide
CPAN shell
perl -MCPAN -e shell install Apache::mod_perl_guide
For more information on module installation, please visit the detailed CPAN module installation guide.