in reply to Re: [Win32] Escaping quotes in perl one liner
in thread [Win32] Escaping quotes in perl one liner

perl -le "open(my $x, "">&STDOUT"");"

Not quite - but close enough ;-)
Thank you.
Either of the following work and, AFAICT, are equivalent - though I'm not exactly sure why that equivalence should hold:
perl -le "open(my $x, \"">&STDOUT"\");" perl -le "open(my $x, "\">&STDOUT\"");"
So I gather it's just the way the shell functions (as opposed to an issue with perl), that I can do:
C:\_32>perl -Mstrict -MDevel::Peek -le "my $arg = \"STDOUT\"; Dump $ar +g;" SV = PV(0x36cd1c) at 0x44b124 REFCNT = 1 FLAGS = (POK,IsCOW,pPOK) PV = 0x451dc4 "STDOUT"\0 CUR = 6 LEN = 10 COW_REFCNT = 1
but it blows up as soon as I introduce shell metacharacters into the string:
C:\_32>perl -Mstrict -MDevel::Peek -le "my $arg = \">&STDOUT\"; Dump $ +arg;" >& was unexpected at this time.
And I guess the additional quotes provide the disambiguation required to allow the one-liner to DWIM.

Cheers,
Rob