Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: [SHELL] Detect backslash in command line args

by LanX (Saint)
on Jul 08, 2013 at 14:30 UTC ( [id://1043131]=note: print w/replies, xml ) Need Help??


in reply to [SHELL] Detect backslash in command line args

Backslash is an escape character which needs to be escaped ... you might already guess ... with a backslash.

The shell doesn't act very different to double-quoted strings in Perl.

UPDATE

You have a misconception here

> With MS Windows's cmd.exe shell we can force an exception if any args passed via the command line contain a backslash:

the same with Unix, just

> So ... if someone does perl script.pl arg\one in one of these shells, is there any way that script.pl can detect the backslash contained in that command line argument ?

In your example you are not passing a backslash, just an escaped "o", which is most probably just a simple "o"¹. To be able to pass a backslash you need to double it!!!

Cheers Rolf

( addicted to the Perl Programming Language)

¹) yep

lanx@nc10-ubuntu:~$ perl -le 'print ord(chomp($ARGV[0]))' \o 48 lanx@nc10-ubuntu:~$ perl -le 'print ord(chomp($ARGV[0]))' o 48

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2024-04-19 19:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found