I find myself writing a lot of scripts these last few weeks for work. I use sh scripting for little things like "ps | awk" but I find myself going to perl when there's any substantial level of complexity.
I have found perl a little lacking in two operations though which has turned me back to shell a few times.
"The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why." -- `man perl`