Some | The CMD MSDOS/Windows command line interpreter (God love it) requires, for some reason,
that certain characters like & (there may be others
(update: I believe & \ < > ^ | are all the
characters that must be carat-escaped between backslash-escaped
double-quotes)) that are
between escaped double-quotes be escaped with a ^ (carat). Go
figure.
Win8 Strawberry 5.8.9.5 (32) Sat 11/28/2020 2:08:16 C:\@Work\Perl\monks\MikeTaylor >perl -Mstrict -Mwarnings -le "print \"&\", '\"&\"', '&';" Can't find string terminator '"' anywhere before EOF at -e line 1. '\", '\"' is not recognized as an internal or external command, operable program or batch file. '\"', '&';"' is not recognized as an internal or external command, operable program or batch file. Win8 Strawberry 5.8.9.5 (32) Sat 11/28/2020 2:08:48 C:\@Work\Perl\monks\MikeTaylor >perl -Mstrict -Mwarnings -le "print \"^&\", '\"^&\"', '&';" &"&"&
Update: Changed example code to provide more instances of
printing & | the presence of &
inside versus outside escaped double-quotes.
Give a man a fish: <%-{-{-{-<
In reply to Re: [Win32] Escaping quotes in perl one liner (updated)
by AnomalousMonk
in thread [Win32] Escaping quotes in perl one liner
by syphilis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |