"If you give someone a program, 
     you will frustrate them for a day; 
if you teach them how to program, 
     you will frustrate them for a lifetime."

Now that you're properly motivated, here are a few perl scripts I wrote. I don't consider myself a "Perl Guru", but that's one of the great things about perl - you don't have to be a guru to write useful stuff.

email-blog.plx A ninja-hack that allows me to make dynamic updates to my 100% static webserver. qmail has an e-mail address set up to execute this program when it recieves an e-mail. It then adds the body of that e-mail as a blog entry and timestamps it. The astute will note that it even has a delete function, in case I typo something or need to add a link later. Woot!
addmenu.plx Dog-slow.org runs a webserver that doesn't do server-side processing (other than reading the files it has to serve). This made it difficult to keep the upper-right menu thingy consistant across pages. I had to update every one of my pages each time I wanted to change the menu. So, I wrote this script to update the menu on all pages that had it.
indexbuilder.plx This is a script that will parse all the directories in my file store and build a suitable index.html file for each. I know apache will do this automatically, but I'm not using apache. I'd rather do it myself!
rand_cs_mapcycle.plx This script will read all the maps in my counterstrike map directory, and output a randomized list suitable for use as a mapcycle.txt file. I run it whenever I get bored with the current rotation.
raptrim.plx I use this script at work to pretty up Raptor logs for my boss. It trims out the less than interesting tags that mean nothing to him. Usually this script is used after several greps have produced the log lines that he's interested in.
subcount.plx This script reads a raptor log from STDIN and counts the bytes sent and received per class C subnet. Where I work we have 3 legit class Bs and we also use all the 172.16-32 subnets, so finding out who's hogging all the bandwidth is a high priority. This script could be easily modified to count for each IP instead of each class C.
fileloop.plx Some of the above scripts read one logfile and output the results. Sometimes I want to do the same thing to a batch of files. I could write a simple loop and process each one consecutively, but its more fun to write the script so it process them all at once!
cf_report.plx Take several cacheflow logs located in a common directory and report on the number of hits/blocked hits per cacheflow per catagory. No static lists anywhere, all machines/catagories are auto-detected. This one's a doozey.

Here's a few Perl links:
CPAN (The "Comprehensive Perl Archive Network")
The Perl Monks