$ cat post/why-perl-still-rocks-in-2004.md
Why Perl Still Rocks in 2004
Today’s the 14th of June, 2004. I’m sitting at my desk in our small office space, surrounded by a sea of machines, cables, and open-source stickers—our little corner of the internet. As I write this, I’m trying to remember what day it was last time we upgraded our Perl scripts on one of our servers. It feels like just yesterday, but somehow it’s been months.
Lately, I’ve been having a heated argument with my team about the future of automation and scripting here at work. The buzz around Python is everywhere—Google’s hiring spree has everyone looking at it as the next big thing. But you know what? We still have these old Perl scripts that get our job done just fine, and sometimes even better than new-fangled Python.
One day this week, one of our servers started throwing errors left and right. It was like a bad episode of The Office—“Pam is missing!” “No, she’s not! Wait, she is! No, she isn’t!”—except instead of a missing paperclip, it was a dying server that was causing our site to hang.
I spent the morning debugging, running through all these Perl scripts line by line. I’m sure everyone would say they prefer Python for its readability and cleanliness, but sometimes there’s nothing quite like a well-crafted one-liner in Perl. For example, this little script we use to parse log files:
while (<>) {
print if /ERROR/;
}
It’s simple, no frills—just get the errors out of the way and move on. Python might look prettier, but when you’re under pressure and time is tight, Perl’s terseness can be a lifesaver.
As I was working through the logs, I couldn’t help but think about how much has changed in the tech world since we first started using Perl here. The open-source community was booming—Xen was just getting off the ground, and Firefox was going to launch soon. Web 2.0 was on the rise, and Google was hiring like crazy.
But back then, our servers were old, and the infrastructure was not exactly cutting-edge. We had these massive scripts running cron jobs every night, processing data that would make even the most robust of modern systems wince. I remember arguing with our lead developer about refactoring everything to Python. His argument: “Python is more maintainable.” My counter: “We’re not maintaining this right now; we’re keeping the lights on.”
Now, as I sit here looking at the server logs, it’s clear that the arguments haven’t stopped. Some of my colleagues are pushing for a full rewrite, while others still believe Perl has its place. But as much as Python is growing in popularity, there’s something about Perl that just feels right when you’re dealing with raw data and quick fixes.
I’ve been thinking about how the sysadmin role is evolving—more scripting, more automation. It’s no longer just about keeping servers up; it’s about writing efficient code to solve problems quickly. I don’t think we can ignore Python completely, but for now, Perl still rocks in my book.
As the server finally calms down and our site starts working again, I’m left with a feeling of satisfaction. Maybe I’ll start a script to monitor these issues more effectively using some newer tools—like Nagios or Zabbix. But until then, Perl will continue to be my go-to tool for getting things done.
And so ends another day in the world of sysadmin scripting. It’s not glamorous, but it gets the job done. Here’s to Perl and all those times when a one-liner can save the day.