in reply to writing a nice installation program/script

Most of my perl is written under Windows using ActiveState and I've written my share of installation scripts with it. The first thing I would suggest is that you download all of the modules that you need and package them up with your installation script (do this on a CD if you have to), but that way you are sure you can install them if necessary.

Here's some psuedocode that I would use when trying to address the problem that you're describing:

1. get the list of packages currently installed:
   @packages = split /\n/,`ppm query -a`;
2. loop through your list of required packages and grep for the package name in the list @packages:
   foreach $package (@required){ if( ! grep $package, @packages )
3. if the package you need is not in the list, then install it:
   system("ppm install $package");
4. once through the list of required packages, go on about the rest of your installation steps.

Not sure if this is any help, but maybe something to think about. Good luck!

~CubicSpline
"No one tosses a Dwarf!"