Make Perl Scripts More Readable With perltidy

Tip of the Trade: Even if it's not your own, messy code is a fact of life for every programmer. Clean up messes with perltidy, an app generated from the Perl module Perl::Tidy.


You Can't Detect What You Can't See: Illuminating the Entire Kill Chain

On-Demand Webinar

Posted October 2, 2008

Juliet Kemp

Juliet Kemp

I am of course sure that everyone reading this is well aware of scripting best practices and always writes beautifully neat and well-set-out scripts that will still have meaning when you return to them in six months time. You might not then need perltidy for your own scripts.

Even so, from time to time you might come across a script left over from before your time or written by a colleague in a hurry that on examination bears a strong resemblance to alphabet spaghetti.

Enter perltidy, a program generated from the Perl module Perl::Tidy, which saves you time by unmangling Perl code for you. You can download it from CPAN, or it may be available through your distro. (Debian and Ubuntu both provide it.)

Basic operation is simply to type perltidy badscript.pl. This will leave the initial file alone and create a new tidied-up file with a .tdy extension.

Alternatively, you can use the -b switch to do the opposite: Make a backup of the original file and then edit it in-line. The -syn switch will run a syntax check of the original code at the same time.

I tried it out on the second prize entry in the 5th annual Obfuscated Perl Contest. Although it didn't simplify the program logic any, it definitely made it more readable and gave a better chance of figuring out what was going on. Try it out for yourself, and see if it can save you some time and mental effort in disentangling confusing code.

This article was first published on ServerWatch.com.

Comment and Contribute


(Maximum characters: 1200). You have characters left.



IT Management Daily
Don't miss an article. Subscribe to our newsletter below.

By submitting your information, you agree that datamation.com may send you Datamation offers via email, phone and text message, as well as email offers about other products and services that Datamation believes may be of interest to you. Datamation will process your information in accordance with the Quinstreet Privacy Policy.