Hello Ken, I'm not a guru or a big fan of windows, but I think I can answer question 2.
It all comes down to how windows 'luanches/executes' the script. First I want to mention that (on my windows powershell at least), it does not complain if I type:
./pm_11105937.pl
vs.
.\pm_11105937.pl
or:
perl ./pm_11105937.pl
vs.
perl .\pm_11105937.pl
and, in fact the autocomplete will complete to:
.\pm_11105937.pl
which is a subtle but I think important distinction. You might also want to look at the Unix
'source' command to see what the './' means to a bash shell. So to see how windows is executing these open the task manager next to the powershell terminal and watch whats running when you execute with:
./pm_11105937.pl
vs.
perl pm_11105937.pl
We can see that when the script is invoked with
'perl <.pl>' the perl interpreter is running in the powershell, but when invoked by itself with
'./<.pl>' the powershell is starting a seperate perl interpreter instance(?) to run the script.
As for question 1 though, I'm not sure, but I think there would be a way to do it with some command-line switches, for which you might find some wisdom in perldoc perlrun.
Hope I could help shed some light at least.