One idea I have is, that possibly the filetype isn't set up correctly by whatever installs the association:
Q:\>ftype perl
perl="C:\Programme\perl\bin\perl.exe" "%1" %*
Q:\>type tmp.pl
#!/usr/bin/perl -l
print for @ARGV;
Q:\>tmp.pl 1 2 3 4 5
1
2
3
4
5
So on this machine, with this setup, it works. If the association is set up wrongly (which I can't check as I don't have access to a non-working machine at the moment), for example by double-clicking a .pl file and then choosing perl.exe, then likely the execution from the command line doesn't work either:
Hypothetical:\>ftype perl
perl="C:\Programme\perl\bin\perl.exe" "%1"
|