A recent module, Perl::Critic, has a nice
command line interface (
perlcritic) that tells you which of Conway's "Perl Best Practices"
your code might be violating.
For example:
$ perlcritic `perldoc -l Time::HiRes`
Package variable declared or used at line 4, column 1. See pages 73,75
+ of PBP.
Deprecated 'require' statement used at line 6, column 1. Use 'use' pra
+gma instead
Deprecated 'require' statement used at line 7, column 1. Use 'use' pra
+gma instead
Code before warnings are enabled at line 9, column 1. See page 431 of
+PBP.
String form of 'eval' at line 20, column 12. See page 161 of PBP.
Useless interpolation of literal string at line 25, column 9. See page
+ 51 of PBP.
Postfix control 'if' used at line 25, column 46. See pages 93,94 of PB
+P.
Postfix control 'unless' used at line 42, column 27. See pages 96,97 o
+f PBP.
Builtin function called with parens at line 42, column 34. See page 13
+ of PBP.
If you aren't brave, don't do that with CGI. :)