in reply to USe Shell comands in perl
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).
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 | 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 | |
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 |
In Section
Seekers of Perl Wisdom