Re: Portability Question
On Mon, 8 Sep 2003, Philip M. Gollucci wrote: > Say I want the same code to work under: > Win2k/ISS5.0&CGI > Win2k/IIS5.0&PerlEX > Win2k/Apache1&mod_perl1 > Win2k/Apache2&mod_perl2 > >FreeBSD/Linux/Sun/Apache1&mod_perl1 >FreeBSD/Linux/Sun/Apache2&mod_perl2 >FreeBSD/Linux/Sun/Apache1,2&CGI > > Assume perl 5.6.1 ActiveState on Win2k and perl 5.8.0 on Unix > environments. > Assume CGI.pm >= 2.98 > > I haven't really had a hard time with this except: [ ... ] > GD.pm (ActiveState only has GD1.x for 5.6.1 and compile errors for GD2.x > on 5.8.0) > XML::Simple (Active State5.6.1 is only at 1.06 missing some critical > features from the current ~2.05) [ ... ] > Text::Aspell ... egad... One of my co-workers has compiled this for > 5.6.1 ActiveState on Win2k/WinXP Pro using MSCV++ 6.0 > if anyone is interested since ActiveState has nothing. We have the above three packages in our 5.8 repository at http://theoryx5.uwinnipeg.ca/ppms/. -- best regards, randy kobes
Re: Portability Question
On Mon, 2003-09-08 at 23:29, Philip M. Gollucci wrote: > I haven't really had a hard time with this except: > CGI.pm ($query = CGI->new()) What about it? Is it not working? > Spreadsheet::WriteExcel (0.26 or less for Win2k/ISS5.0&PerlEx current is > .40 most likely not thread safe) > GD.pm (ActiveState only has GD1.x for 5.6.1 and compile errors for GD2.x > on 5.8.0) > XML::Simple (Active State5.6.1 is only at 1.06 missing some critical > features from the current ~2.05) > DateTime modules (datetime.perl.org ActiveState 5.6.1 has nothing... I > think 5.8.0 might have some) Building your own .ppm files seems like the only way to solve these. > use lib qw(...) (ISS automagically adds "." to this. Under unix, > this is not the case >First thought, use FindBin, but its not thread safe, so mod_perl2.x > fails. >Only anwser I've come up with is to have an "installation" script > edit a place holder in the "main" file You could use a config file or an environment variable, but what is the problem with FindBin exactly? I haven't heard about it not being thread safe before. > However, "caching" is much more beneficially in IIS5.0/PerlEx then > apache1.x/mod_perl1.x (rarely if ever get server by the same child in > Apache) In apache 1.x on Win32, you always get the same child since there is only one. With 1.x on FreeBSD, the allocation will basically round-robin through all of your live apache children. - Perrin
Portability Question
Say I want the same code to work under: Win2k/ISS5.0&CGI Win2k/IIS5.0&PerlEX Win2k/Apache1&mod_perl1 Win2k/Apache2&mod_perl2 FreeBSD/Linux/Sun/Apache1&mod_perl1 FreeBSD/Linux/Sun/Apache2&mod_perl2 FreeBSD/Linux/Sun/Apache1,2&CGI Assume perl 5.6.1 ActiveState on Win2k and perl 5.8.0 on Unix environments. Assume CGI.pm >= 2.98 I haven't really had a hard time with this except: CGI.pm ($query = CGI->new()) Spreadsheet::WriteExcel (0.26 or less for Win2k/ISS5.0&PerlEx current is .40 most likely not thread safe) GD.pm (ActiveState only has GD1.x for 5.6.1 and compile errors for GD2.x on 5.8.0) XML::Simple (Active State5.6.1 is only at 1.06 missing some critical features from the current ~2.05) DateTime modules (datetime.perl.org ActiveState 5.6.1 has nothing... I think 5.8.0 might have some) use lib qw(...) (ISS automagically adds "." to this. Under unix, this is not the case First thought, use FindBin, but its not thread safe, so mod_perl2.x fails. Only anwser I've come up with is to have an "installation" script edit a place holder in the "main" file Text::Aspell ... egad... One of my co-workers has compiled this for 5.6.1 ActiveState on Win2k/WinXP Pro using MSCV++ 6.0 if anyone is interested since ActiveState has nothing. Does anyone have any comments/suggestions/ideas on this ? Despite all the ranting, I must say that all of you have done exceptional jobs to make Apache/mod_perl the finest of them all. I haven't done any hard benchmarking, but it looks link Apache2/mod_perl2 on Win2k is substantially(2-3x) faster then IIS5.0/PerlEx. However, "caching" is much more beneficially in IIS5.0/PerlEx then apache1.x/mod_perl1.x (rarely if ever get server by the same child in Apache) Thanks All!