在Perl中使用Shell命令

Shell Commands vs. Perl Clause

    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).

    UNIX Perl Origin
    . 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

你可能感兴趣的:(shell命令)