If your shell script uses a lot of "expensive" external commands, may be even in a loop and you can replace that by some internal commands of Perl, the speed gain would be enormous. However, if you "machine translate" such script into Perl by calling exactly the same external commands (through backticks or
system), you will be worse off than before.
CountZero
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law