Last Friday I uploaded my first module to the Comprehensive Perl Archive Network (CPAN). For those who haven’t used Perl before, CPAN is a repository of thousands of reusable modules providing both common and highly specialist use cases. Generally the coverage is so comprehensive that most of my Perl scripts have involved writing a small amount of code to glue several modules together and create a basic application.

The module I uploaded is called OTRS::ForwardQueue and was written to scratch an itch at my current job. We have a ticket system called OTRS which we use for managing internal support requests. Sometimes users will report a problem in OTRS which should go into the centralised support system. We could reply to each of these requests and point the user to the other system, but that takes time and results in a poor user experience.

Instead, we assign misreported ticket to a specific queue, which takes a matter of seconds. A cron job checks the contents of this queue on a regular basis and forwards all the tickets to the other support system, emails the user and automatically closes the ticket in OTRS. The effort required from the OTRS administrators is minimised, and the worse case scenario for the user is that there is a short delay – usually less than an hour – between their original submission and the ticket ending up in the correct system.

I’m not expecting this module to be used by more than a handful of people, but I’d already completed most of the work required to release it, and finishing off the process with Dist::Zilla was a useful learning experience. You can find the source code on GitHub and the module is licensed under the AGPL (as is OTRS).