Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: (Windows) verbatim command line arguments inside Perl script

by LanX (Saint)
on Apr 16, 2021 at 15:45 UTC ( [id://11131389]=note: print w/replies, xml ) Need Help??


in reply to Re: (Windows) verbatim command line arguments inside Perl script
in thread (Windows) verbatim command line arguments inside Perl script

cmd.exe is also allowing unclosed quotes, with is frankly a PITA

D:\tmp\exp>perl -E"say join'|',@ARGV" "1\" 2" "3 1" 2|3

And I already noticed that the escaped quotes are killing my workaround

D:\tmp\exp>type cmd_wrapper.bat @echo off echo %*| perl.exe .\wrapped_pl.pl D:\tmp\exp>cmd_wrapper.bat "1\" 2" "1\" 2"| perl.exe .\wrapped_pl.pl

what seems to happen is that

  1. %* is expanded like a macro before executing the bat
  2. The second quote is not considered escaped for echo
  3. The pipe is seen as part of an unclosed "string"
  4. hence the call to perl.exe is echo'ed like a string and never executed

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11131389]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-26 01:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found