Hello list, I am running some mod_perl/apache sites. So far we have 2 disparate servers, (both running identical software) hosting about 10 sites each.
I have managed to create a universal httpd.conf using <perl> sections, a universal config file and a host dependant config file. In doing so I've come up across some things I've not been able to do using <perl> sections: 1/- Having to use more than 1 perl section in the config. This is annoying because I initialize a load of stuff and then its all lost when the section ends. I have to end the section, because I set the module path like this: @PerlSetEnv = ( [ 'someflag', $somevar ], [ 'modulepath', $someothervar ], ); I can't then 'use' a module in the module path until that section has been eval'ed - which means I have to end the section. I know I could do it with a plain apache directive, but then my httpd.conf is not truly universal. 2/- mod_rewrite After using mod_rewrite on the default server, I then had to turn it off everywhere else I had a virtual host or location. The mod_rewrite docs say: "This means that you need to have a RewriteEngine on directive for each virtual host in which you wish to use it." But it just stays stuck on unless you explicitly turn it off. 3/- ErrorDocument directives don't seem to work I eventually gave up on getting these to work in perl sections. Now I do them before the start of the first <perl>. Anyone else have better luck? 4/- Tie::IxHash Apparently if you have this installed before you configure/install mod_perl, it will automatically use it to preserve order in hashes. It doesn't work in my case, and I have to explicitly tie the hashes where this is important to get things working properly. Thanks for any light shed on the above, Matt -- #!/usr/bin/perl $A='A';while(print+($A.=(grep{($A=~/(...).{78}$/)[0]eq$_}" A A A " =~m{(...)}g)?"A":" ")=~/([ A])$/){if(!(++$l%80)){print"\n";sleep 1}}