in reply to how to pass colon and comma in exec args

$ perl -e 'print `echo ;`;'

$ perl -e 'print `echo \;`;'

$ perl -e 'print `echo \\;`;'
;
The reason this works is that the characters are interpolated by the shell that is opened, and a single backslash is interpolated by Perl. So to actually pass through a backslash, you need to send two backslashes. In other words, perl sees "\\;", the shell sees "\;", and the program sees ";".

Update: by the way, qw won't interpolate variables as far as I know.

- Scott

  • Comment on Re: how to pass colon and comma in exec args