On Tue, 20 Jun 2000, Paul Lussier wrote:
> Perl is the same everywhere.
No, it isn't. Not unless you can guarantee everyone has the same underlying
platform and the same Perl version.
For example, somewhere between Perl 5.003 and Perl 5.005, the semantics of
the $_ symbol changed, breaking the $ARG alias in the standard library English
module. This caused me no end of grief.
> The fact that you don't have a particular module does not make the
> language different, it means you don't have a particular module.
But the set of standard library modules can and does change with different
Perl releases.
> My point is that if you write a perl program, it is guaranteed to run
> anywhere perl is installed (and that goes for Win32 platforms too!).
Dead wrong.
You're generally in good shape on POSIX (i.e., Unix-like) platforms, but
once you move on to Win32, VMS, Novell NetWare, and the like, Perl programs
can and do run into portability problems. They usually fall into one of three
categories:
(1) Programmer Brain Damage, where some programmer decides that all the
world runs Unix, and therefore that tools like "cat", "ps", etc., would be
available. These are easy to fix, and indeed, should never happen. But they
do.
(2) File naming problems. perl makes a good effort at translating
Unix-style /path/to/file names to C:\PATH\TO\FILE or [PATH.TO]FILE names, but
it isn't perfect. These problems, too, can be avoided, if you know to do so.
Porting existing Perl programs can be a pain, though.
(3) Unimplemented language functions. Perl has a number of built-in
functions which model Unix system calls, and which are not guaranteed to work
on your current platform. These are the worst, because when you need
something like flock(), you *really* need it.
My last job included implementing a web-based, computer-based training
system that had to run on just about everything. Naturally, we chose Perl,
but there were still plenty of portability concerns to worry about.
> There is no porting for perl scripts.
Then please explain the need for the 'perlport' manpage. :-)
--
Ben Scott <[EMAIL PROTECTED]>
Net Technologies, Inc. <http://www.ntisys.com>
Voice: (800)905-3049 x18 Fax: (978)499-7839
**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************