Missing Command Line Args with Perl 5.28

Following a recent upgrade to ActivePerl 5.28.1, my scripts can’t access command line arguments if Perl is auto-launched by filetype association:

For example, when foo.pl is run as

foo arg1 arg2
foo.pl sees @ARGV as empty.

However, using the full invocation,

perl.exe foo.pl arg1 arg2
works fine, and the script sees both args.

This behavior differs from that of my previous installation of ActivePerl 5.16 (32-bit), which worked the same for both cases. This latest install is a 64-bit runtime on 64-bit Win8.1. I’ve checked the PATH and PATHEXT environment variables which appear to be set correctly.

Any suggestions?

The installers try to do:
assoc .pl=PerlScript
ftype PerlScript=perl.exe %1 %*

Some older installers are known to not get this correct. Assuming that your ActivePerl installed to C:\Perl,


Should have a (Default) string value of "C:\Perl\bin\perl.exe" "%1" %*

Full discussion can be found here: