I use perl more than most of the other languages because a lot of what I do is dealing with text. In perl, regular expressions flow freely, and I mostly write scripts that are task specific instead of building applications to do things. Typically if I'm building applications I will use other languages, but as far as a scripting language that has a short start to completion time, perl seems to really be good. I don't know if this makes me strange or not, but I also tend to use perl inline on the command line to perform functions ranging from pulling lines out of output via regexs to generating exploit strings.
For instance, if I'm working on figuring out why a webserver is sending crazy amounts of data, I may want to find the offending IP address to dig further. I might do something like this:
cat /var/log/apache2/access.log | perl -e '%hash = (); while(<>){ if(/^([\d\.]+) .*" 200 (\d+)/) {$hash{$1} += $2}}; foreach $ip (keys(%hash)){ print $hash{$ip} . " : $ip\n"}' | sort -n
This code will print out the amount of data sent and the ip address of the host that sent it. Certainly not pretty but it is effective and I can customize it inline to get me what I'm looking for, which is rarely the same thing twice. I could do the same thing in python, but it takes more code and lends itself to actually writing a script to a file. I tend to use PHP for web apps, because for me it integrates more cleanly into web pages and has a familiar syntax as it is very similar to perl. I am writing some clients that I want to be truly cross platform, and python is great for that as it is extremely portable and perl is slightly less portable and doesn't lend itself as well to classes.
This is my opinion, and certainly not hard fact. Much like the epic vi vs emacs discussion, most people stick to what they are most familiar with and there are many ways to approach most problems.