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.
| [reply] [d/l] [select] |
Howdy!
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.
| [reply] |
| [reply] |
| [reply] |
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
| [reply] |
| [reply] |