Addendum: Every Getopt::Std test suite ever distributed Perl, going back to 5.004_04, tests for this behavior. So now I would really like to see your experiments.
I personally believe that you're right. More precisely, you're obviously right. Anyway I probably just tried to add an unknown switch to a cmd line that worked:
C:\temp>runn.pl -q
Unknown option: q
Usage: C:\temp\runn.pl [-n N] [-r] [-v] command arg1 arg2...
Run command arg1, command arg2, etc., concurrently.
Run no more than N processes simultaneously (default 1)
-r: run commands in random order instead of specified order (unimp
+l.)
-v: verbose mode
C:\temp>runn.pl -n 2 dir *.txt *.pl -q
exec: No such file or directory at C:\temp\runn.pl line 27.
exec: No such file or directory at C:\temp\runn.pl line 27.
exec: No such file or directory at C:\temp\runn.pl line 27.
IPB that the latter should exit early printing the usage screen too.