system commands from perl. - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

system commands from perl.

JoeMcJoeMc Posts: 55Member
What's the best way to get results from a system command using perl to access any unix/linux shell?

Examples:
a.) system(qq{$command $args | $output_file});
Then read output file data?

b.) @output = `$command $args`;
Then read through array?

c.) Are there any other ways of doing this?

Thanks & Regards,
JoeMc

Comments

  • JonathanJonathan Posts: 2,914Member
    : What's the best way to get results from a system command using perl
    : to access any unix/linux shell?
    :
    : Examples:
    : a.) system(qq{$command $args | $output_file});
    : Then read output file data?
    :
    Yup, but that creates a temporary file that you then have to go and clear up later.

    : b.) @output = `$command $args`;
    : Then read through array?
    This is probably the best way.

    : c.) Are there any other ways of doing this?
    There's also open with a pipe at the end, which lets you use normal file I/O to read from the pipe.

    [code]my $fh;
    open $fh, "$command $args |";
    while (<$fh>) {
    # do something for each line
    }
    close $fh;[/code]

    Jonathan
    ###
    for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
    (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");
  • JoeMcJoeMc Posts: 55Member
    : : What's the best way to get results from a system command using perl
    : : to access any unix/linux shell?
    : :
    : : Examples:
    : : a.) system(qq{$command $args | $output_file});
    : : Then read output file data?
    : :
    : Yup, but that creates a temporary file that you then have to go and
    : clear up later.
    :
    : : b.) @output = `$command $args`;
    : : Then read through array?
    : This is probably the best way.
    :
    : : c.) Are there any other ways of doing this?
    : There's also open with a pipe at the end, which lets you use normal
    : file I/O to read from the pipe.
    :
    : [code]: my $fh;
    : open $fh, "$command $args |";
    : while (<$fh>) {
    : # do something for each line
    : }
    : close $fh;[/code]:
    [b][color=Purple]Thanks Jonathan, and sorry for hijacking that other posting on this subject. I kinda feel bad about that. :-)[/color][/b]
    :
    : Jonathan
    : ###
    : for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
    : (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    : /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");

Sign In or Register to comment.