> Well after pouring through the "perldoc CGI" I found that if you
> use CGI(:all -no_xhtml);
> 
> then you will not get the <?xml----- tag that is fragging the browsers... 
> unfortunately in mod_perl, It only seems to work on *some*
> of the children....

We had the same problem with -oldstyle_urls.

Below is what I did because I didn't know better. Enlightenment welcome.


from startup.pl (you would use $XHTML):

use CGI qw(-compile -oldstyle_urls :all);
#
# override CGI::initialize_globals to avoid the default for 
# $CGI::USE_PARAM_SEMICOLONS (we always use -oldstyle_urls)
#
# Caution:
# This works as long as NO script explicitly uses -newstyle_urls. 
#
# Background:
# CGI.pm registers an Apache cleanup handler to call reset_globals,
# which in turn uses initialize_globals. Since _setup_symbols
# (which handles the -oldstyle_urls option) runs only once
# for every httpd-instance under mod_perl this option works  
# only for the first ~MaxServers invocations of the script.
#
my $real_initialize_globals = \&CGI::initialize_globals;
undef *CGI::initialize_globals;
*CGI::initialize_globals = sub {
        &$real_initialize_globals();
        $CGI::USE_PARAM_SEMICOLONS = 0;
};

Regards, Bjoern

-- 
Bjoern Kriews - mobile.de GmbH - Softwareentwicklung
Bueschstr. 7 - D-20354 Hamburg
Tel.: +49 (0) 40 / 879 77-406; Fax: +49 (0) 40/43 18 23-55
Web: http://www.mobile.de

Reply via email to