File::Pid
Description: Consistantly writing programs that either act as daemons or take a long time to run depending on the input, I find it necessary to track weather or not they are still running. Lots of...
View ArticleIO::Socket::INET
Description: When I need to interact with the raw IO of telnetting to a port or creating a hand rolled implementation of my own service, I use IO::Socket. My most recent endeavor was for a need to...
View ArticleMail::Sender
Description: This is probably one of the modules that I use most frequently. I commonly write reporting and statistic generating scripts. When the data is finished being crunched, I then dump it into a...
View ArticleHTML::Entities
Description: When taking user input through any number of forms, there could be characters that you aren’t expecting. This is exactly what HTML::Entities was designed to handle. When getting the user...
View ArticleSys::Hostname
Description: Sys::Hostname is a relatively small, but very useful module. Just as the module name describes, it gets your system’s hostname. To paraphrase the module’s POD documentation, it will try...
View ArticleMail::IMAPClient
Description: Recently, I have had the pleasure of getting knee deep into various aspects of Email. One of the things that I consistantly found myself wanting to do was to parse through it. I know the...
View ArticleFile::Bidirectional
Description: The author of this module notes that it is best used, especially by him, when reading or manipulating log files. I have a tendency to use it for the exact same thing, especially when...
View ArticleFile::ReadBackwards
Description: File::ReadBackwards works similar to the linux shell command tac. It reads the file line by line strarting from the end of the file. CPAN: File::ReadBackwards Example 1: Being a System’s...
View ArticleMonitoring Services with Nagios::Plugin
There are a lot of people who say, “if it isn’t monitored, then it isn’t a service.” The problem is that I don’t think enough people outside of the systems world believe that or even understand why its...
View ArticleUsing Unique Keys and Key Groups with Background Jobs in Gearman::Client
While diving into Gearman using Gearman::Client with MySQL and libdrizzle (I know, a mouthful), I ran into what I thought was a bug. I was only able to add 1 background job of any type at a particular...
View Article