Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Run multiple shell commands on the same perl script

by Athanasius (Monsignor)
on Oct 31, 2012 at 02:20 UTC ( #1001590=note: print w/ replies, xml ) Need Help??


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

Hello Daral, and welcome to the Monastery!

As 2teez explained, you can use system to run an external command from within a Perl script. But note that system returns the command’s exit status, not its output. If you want to capture the command’s output, use backticks (or the equivalent qx operator):

#! perl use strict; use warnings; my $ls = `ls`; print "Output from ls:\n\n", $ls, "\n"; my $con = `ipconfig`; print "Output from ipconfig:\n\n", $con, "\n";

Update: To capture both the output and the exit status, use the CPAN module Capture::Tiny.

Hope that helps,

Athanasius <°(((><contra mundum


Comment on Re: Run multiple shell commands on the same perl script
Download Code
Backticks and exit status
by space_monk (Chaplain) on Oct 31, 2012 at 14:25 UTC

    $? 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
Node Status?
node history
Node Type: note [id://1001590]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (11)
As of 2014-12-22 16:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (121 votes), past polls