You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Philip M. Gollucci" <ph...@p6m7g8.com> on 2003/09/09 05:29:38 UTC

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!





Re: Portability Question

Posted by Perrin Harkins <pe...@elem.com>.
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


Re: Portability Question

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
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