If this program is used on a semi-regular basis, you could always leave it running as a "daemon" process, allowing other programs to call it as required using a socket. This isn't as risky, but you should have a good example of how to make a daemon process handy, for example, from the Perl Cookbook. A cheap way of doing this is to turn it into an Apache module, where it can be accessed using HTTP.
A simpler way would be to use pperl, short for "persistent perl", which, to my understanding, pretty much works in the way you describe.
As for making it work on Windows: the only report of a successful build on Windows, is using Cygwin — only, even that is for a very old version: 0.02. Build status reports for ActivePerl (5.6, 5.8) don't look good at all.
| [reply] |