Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

activeperl vs perl

by VenROCK (Acolyte)
on Oct 10, 2005 at 14:28 UTC ( [id://498811] : perlquestion . print w/replies, xml ) Need Help??

VenROCK has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks, i've got such a question... How can i be sure that my code on activeperl runs on perl and vice versa? And what can i do to make some perlcodes to run on activeperl? Thnx a lot for your answers in advance!

Replies are listed 'Best First'.
Re: activeperl vs perl
by polypompholyx (Chaplain) on Oct 10, 2005 at 15:15 UTC

    In general, it's the other way round you need to worry about more: perl on Windows lacks a number of functions that work on Unix (alarm, chroot, etc). However, the most important things to consider in making a script written on Windows work on Unix are when you interact with the system, either directly (using system or backticks), or indirectly (when manipulating files). Some general guidelines:

    • Avoid system unless you want the user to have to install Unxutils or similar.
    • Be careful with newlines: text files end in CRLF under Windows, but just LF under Unix.
    • Use File::Spec, File::Temp and friends to construct paths and filenames portably.
    • Know that unlink doesn't necessarily delete a file completely under Unix.
    • Don't use Win32 modules, for obvious reasons.
Re: activeperl vs perl
by herveus (Prior) on Oct 10, 2005 at 14:44 UTC

    You'll need access to systems running Perl other than ActiveState. You could try a CygWin environment on Windows, as well as Perl on Unix based systems.

    Also, look at the perlport man page.

Re: activeperl vs perl
by pboin (Deacon) on Oct 10, 2005 at 14:46 UTC

    Bro. Herveus is correct. You might also want to peruse the perldoc perlport manuscripts...

Re: activeperl vs perl
by zentara (Archbishop) on Oct 10, 2005 at 17:40 UTC
    The only way to be sure is to actually try and run your script on both platforms. Even then, some win32 versions will run a script, but others won't. There is a big difference in the way ActiveState runs on win95/98/ME and later versions like XP. So you really can't be sure things will run cross-platform without extensive testing, on a variety of systems. Of course, the simpler the script, the better the cross-platform compatibility.

    I'm not really a human, but I play one on earth. flash japh
Re: activeperl vs perl
by jch341277 (Sexton) on Oct 10, 2005 at 19:25 UTC

    vmware is great for cross platform development of all flavors.