Code is not tidy at line 1, column 1. CodeLayout::RequireTidyCode (Severity: 1) Conway does make specific recommendations for whitespace and curly-braces in your code, but the most important thing is to adopt a consistent layout, regardless of the specifics. And the easiest way to do that is to use Perl::Tidy. This policy will complain if you're code hasn't been run through Perl::Tidy.