http://www.perlmonks.org?node_id=1054519


in reply to Command line arguments not passed in Win7

Please post the output from running the following commands in a cmd.exe shell:

C:\D\test>assoc .pl .pl=Perl C:\D\test>ftype Perl Perl="c:\perl64\bin\perl.exe" "%1" %* C:\D\test>set pathext PATHEXT=.pl;.COM;.EXE;.BAT;.CMD;

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: Command line arguments not passed in Win7
by hsfrey (Beadle) on Sep 17, 2013 at 21:56 UTC
    The first 2 commands give the identical results as your example.

    the final one, 'set pathext' shows a lot of file extensions, but NOT .pl! Even though the assoc command appeared to run without error.

    My problem is not that the system doesn't execute perl. It finds and executes perl, but doesn't pass the command line parameters to @ARGV.

      The first 2 commands give the identical results as your example.

      You sure?

      The only thing I am aware of that could be affecting this, is if the ftype were set wrong. For example, if the ftype were set as:

      Perl="c:\perl64\bin\perl.exe" "%1"

      That would disable the passing of arguments:

      C:\test>type argtest.pl #! perl -slw use strict; print for @ARGV; C:\test>ftype Perl Perl="c:\perl64\bin\perl.exe" "%1" C:\test>argtest 1 2 3 4 5 ### NOTE ### no args printed becau +se %* is missing above. C:\test>ftype Perl="c:\perl64\bin\perl.exe" "%1" %* Perl="c:\perl64\bin\perl.exe" "%1" %* C:\test>argtest 1 2 3 4 5 ### NOTE ### Now it works. 1 2 3 4 5

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.