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}}