Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Perl one-liner Quotes help

by ikegami (Patriarch)
on Jul 15, 2010 at 19:06 UTC ( [id://849838]=note: print w/replies, xml ) Need Help??


in reply to Perl one-liner Quotes help

It helps to mention which shell you're using if you us to help with its quoting mechanism. Looks like bash or similar.

You want bash to do

system( q{perl}, q{-lane}, q{print "John's";}, );

The first two parts are no-brainers since they contain no characters that are special to bash. Let's focus on the third.

  • You could escape every special character
    print\ \"John\'s\";
  • You could use double quotes and escape the characters that are special in double quotes.
    "print \"John's\";"
  • You can't use single quotes, at least not alone. There's no way to include single quotes in a single-quoted bash literal. What you can do is use different mechanisms for different parts of the string (as in q{print "John}.q{'}.q{s";})
    'print "John'"'"'s";' 'print "John'\''s";'
So
perl -lane 'print "John'\''s";'

Note that the following is also acceptable to Perl:

system( q{perl}, q{-lane}.q{print "John's";}, );

That could be written as

perl '-laneprint "John'\''s";'
but it looks better as
perl -lane'print "John'\''s";'

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (5)
As of 2024-04-24 00:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found