Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the CGI CPAN distribution.

Report information
The Basics
Id: 34761
Status: resolved
Priority: 0/
Queue: CGI

Owner: Nobody in particular
Requestors: wdhawes [...] (daily)

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)

Subject: -oldstyle_urls pragma not persisted under mod_perl 2
Download (untitled) / with headers
text/plain 951b
The documentation states that the oldstyle_urls pragma can be used to force the use of ampersands to delimit querystring pairs generated by url() and self_url(): Under mod_perl 2, this only works for the first invocation of ModPerl::Registry scripts. use CGI qw/-oldstyle_urls/; my $cgi = CGI->new; warn $cgi->url(-absolute => 1, query => 1); Assuming the script above is accessed as e.g. "/", the first invocation returns something like / Subsequent invocations return this instead: /;name2=value2 CGI::new() contains the following line: $r->pool->cleanup_register(\&CGI::_reset_globals); _reset_globals() calls initialize_globals(), which sets $CGI::USE_PARAM_SEMICOLONS to 1, overriding anything that may have been supplied via the oldstyle_urls pragma. The fact that this happens at request cleanup explains why the first request is not affected.
Fix will appear in version 3.37.

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to