Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Backticks and exit status

by space_monk (Chaplain)
on Oct 31, 2012 at 14:25 UTC ( [id://1001671]=note: print w/replies, xml ) Need Help??


in reply to Re: Run multiple shell commands on the same perl script
in thread Run multiple shell commands on the same perl script

$? returns the result code from the last system() call or backtick operation, I believe, so you can both capture output and process result codes.

Example:

#!/bin/perl # first command deliberately generates an error.... print `rubbish`; print "Rubbish Result: $?\n"; # this command should succeed print "ls Output:\n"; print `ls -l`; print "ls Result: $?\n";
Output:
Rubbish Result: -1 ls Output: total 10 -rw-r--r-- 1 Userid Domain Users 1242 Oct 30 10:04 1.txt -rw-r--r-- 1 Userid Domain Users 1531 Oct 30 10:04 2.txt -rwxr-xr-x 1 Userid Domain Users 351 Oct 30 10:48 test.pl -rwxr-xr-x 1 Userid Domain Users 108 Oct 31 14:21 var.pl ls Result: 0
Note the first output of $? is -1 (an error), whilst the second is 0 (success)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2024-04-18 02:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found