Tools every Perl developer should use.

There are a few tools that everyone from beginner on up should use.
This list starts from the most basic, and moves onto more advanced concepts, but these 

  1. An IDE or at the very least a text editor that is intended for programmers (duh!) Notepad.exe is not a good programmers editor. If it doesn't tell you what line number you are on, you MUST switch.
  2. perltidy -- lets face it, everyone will like reading your code if you use this. Including you. It is customizable to match your needs.
  3. perlcritic -- It can be painful to apply to a codebase already installed, but if you use it as you learn, it is much less painful to roll out later. For existing codebases, there is Test-Perl-Critic-Progressive on the CPAN
  4. the CPAN -- The puzzle pieces of your problem has probably already been approached in perl, and unless its a weird edge case, there is something out there to help you.  
    • Template toolkit or another templating tool. -- separating your display logic from your application logic from the start is a very good thing (tm). TT works for all text output destinations (screen, HTML, csv), and therefore is an ideal choice for most outputs. It also makes translation of you application  much easier to manage. If you handle this layer properly, reformatting your application to work on a smaller screen size, suddenly becomes much easier.
    • some type of DBI abstraction layer  (DBIx::Class). In the same way you abstract out your display, you will want to abstract out your database calls.
    • An application Framework. For the Web there is Catalyst, Cgi::Application/Titanium, and many others. I primarily develop for the web, so I cannot think of others but they are out there and you should use them. pick a framework that is appropriate, use it.
  5. Version control. cvs, svn, git, Mercurial, Bazzar, Fossil. -- It doesn't matter much what youuse, but If you are not using one, then you are heading for troubles.
  6. Perlmonks and other more knowledgeable programmers. Lets face it, There will always be someone smarter than you. Ask them questions when you are stuck! I'll be honest, and say I don't spend much time on perlmonks, but I do ask for help when I get stuck, and that's what really matters.
I'm sure there are more, but you get the point, If I missed something, please add it to the comments below.


Some way to manage bugs and feature requests is as important as source control. Linking the two is even more powerful.

Oh, and a good debugger and profiler. The profiler is easy; you should use Devel::NYTProf. Debuggers are a lot more personal and depend on how you do it, but Perl shines through again with multiple different paradigms: perl -d, Devel::ebug, Devel::Trace, etc.

I think point 6 could read "the community". A large part of that for me is IRC. As someone on #perl said "if you don't learn new things and keep up with what's current you don't have ten years of experience, you have one year ten times". It's important to keep up with what the community holds to be the current best practice.

About this Entry

This page contains a single entry by leonard published on October 18, 2010 10:10 AM.

Vi vs. Emacs was the previous entry in this blog.

Frozen Perl 2011 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.