The biggest problem that I solved using Perl was to keep a heart-beat on an application server. It allowed me to not only 'ping' the server but actually launch a query at a specific port and view the response. I couldn't do that in a shell script without coding a custom app for it to call.
Also, given that there were a total of 30 servers/services that had to be monitored, flow-control was rather essential. I don't know if you've tried to do complex flow-control in a Bourne shell script, but it isn't pretty ;) As a bonus, formatting the hourly report into an easy to scan message was trivial.
You might want to look and see what those other programs are doing. If your system() calls include a lot of things like grep, wc, sort, etc Perl is a reasonable substitute. Also, I found it hugely useful to feed the output from a tail -f into a perl script to watch for specific messages. A lot better than scanning the entire file every once and again for messages. Especially when the logs you're looking at get large (> 10 Meg) and you can't truncate them because you need the complete information set. Perl is very effective at text processing which is why it is the Pathologically Eclectic Rubbish Lister.
Every thing I've done in Perl could have been done either as a shell script or in a compiled language (C is my preferred choice ). However, it took about a week of actual effort to write the system monitoring script in Perl, it had taken another person about 3 weeks to create the shell script I replaced and it would have taken about 3 weeks to code and compile. Also, since it was used in a support role, I had to train my replacement to support it before I left. Teaching Perl isn't that tough. I would not have enjoyed trying to teach enough C to support it.
Even if you win the rat race, you're still a rat.
[ Parent ]