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

USe Shell comands in perl

by pulkitkaul
on Jul 17, 2007 at 04:27 UTC ( #626960=perlquestion: print w/ replies, xml ) Need Help??
pulkitkaul has asked for the wisdom of the Perl Monks concerning the following question:

How we use shell commands in perl

Comment on USe Shell comands in perl
Re: USe Shell comands in perl
by Zaxo (Archbishop) on Jul 17, 2007 at 04:35 UTC

    You can use qx (ie. `backticks`), system, open, or exec, depending on what you want to accomplish. Those links will get you started, and we'll be glad to help if you ask a more specific question.

    After Compline,
    Zaxo

Re: USe Shell comands in perl
by GrandFather (Cardinal) on Jul 17, 2007 at 04:35 UTC
Re: USe Shell comands in perl
by jesuashok (Curate) on Jul 17, 2007 at 06:02 UTC
Re: USe Shell comands in perl
by cdarke (Prior) on Jul 17, 2007 at 09:23 UTC
    While there are some occasions that using shell commands from Perl are justified, there are many more when they are not. Decide: use the shell OR use Perl. Mixing them is to encourage inefficiency.
    This is a rough conversion table from UNIX commands to Perl. Please note that there are not always direct single equivalents, and that there are certainly many more that I can't think of (but many others will).
    UNIXPerlOrigin
    . do built-in
    awk perl ;-) (often 'split') built-in
    basename File::Basename::basename Base module
    cat while(<>){print} built-in
    ExtUtils::Command::cat Base module
    cd chdir built-in
    chmod chmod built-in
    chown chown built-in
    cp File::Copy Base module
    ExtUtils::Command::cp Base module
    date localtime built-in
    POSIX::strftime Base module
    declare see typedef
    df Filesys::Df CPAN
    diff File::Compare Base module
    dirname File::Basename::dirname Base modules
    echo print built-in
    egrep while(<>){print if /re/} built-in
    eval eval built-in
    exec exec built-in
    pipe (co-processes) built-in
    open (file descriptors) built-in
    export Assign to %ENV Hash variable
    Env::C CPAN
    find File::Find Base module
    ftp Net::Ftp Base module
    function sub built-in
    grep see egrep
    integer int built-in
    kill kill built-in
    ln -s link built-in
    ls glob built-in
    opendir/readdir/closedir built-in
    stat/lstat built-in
    mkdir mkdir built-in
    mkpath ExtUtils::Command::mkpath Base module
    mv rename built-in
    ExtUtils::Command::mv Base module
    od ord built-in
    printf built-in
    print print built-in
    printf printf built-in
    rand rand built-in
    rm unlink built-in
    ExtUtils::Command::rm Base module
    rm f ExtUtils::Command::rm_rf Base module
    sed s/// (usually) built-in
    select Shell::POSIX::select CPAN
    sleep sleep built-in
    alarm built-in
    sort sort built-in
    source do built-in
    tail File::Tail CPAN
    times times built-in
    touch open()/close() built-in
    ExtUtils::Command::touch Base module
    trap %SIG Hash
    sigtrap pragma
    typeset my built-in
    typeset i int built-in
    typeset l lc built-in
    typeset u uc built-in
    typeset -Z sprintf built-in

      cdarke++, excellent article! Really this reply of mine may have been a /msg, but I wanted others to read it, and see if they share my feeling: have you considered (possibly expanding on the subject and) making it into a meditation? So one could refer to it for the future...

        Thanks blazar. Added to meditations as you suggested 627015. I suggest that monks wishing to add more to the list do so in the meditation.
      I agree with blazar... excellent.

      What about adding?

      telnet Net::Telnet CPAN


      regexes

      I think you need an "Origin" column for the UNIX side as well, since you seem to have thrown in external utilities, shell built-ins, and C library functions without distinction. (This is mainly meant as feedback for your other post.)

        I can see why you say that, it is this phrase "UNIX command" that is so commonly used but is really too general. Strictly I guess it should only contain names from the POSIX/SUS standard section "Shell&Utilities", but that would miss many out. I will try and apply a new column when I can.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://626960]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (15)
As of 2014-09-30 16:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (378 votes), past polls