One thing to be careful of when running Perl scripts from Perl on Windows (or any other similar language from Windows) is that file association is only done by a shell, like cmd.exe or Windows Explorer. So, if you call
system('myscript.pl'); then it probably won't work, since perl will not invoke a shell which it considers unnecessary.
There are several solutions. The simplest is just
system('perl myscript.pl'); but that assumes that %path% is set correctly. You could specifically invoke cmd.exe, or, to take an extreme, use
Win32::FetchCommand which will do the registry lookup required for file association.
UNIX style operating systems don't have this issue because of the #! line.