bash-4.2$ perlcritic --brutal pccdoe.pl Code is not tidy at line 1, column 1. See page 33 of PBP. (Severity: 1) Module does not end with "1;" at line 1, column 1. Must end with a recognizable true value. (Severity: 4) Code not contained in explicit package at line 1, column 1. Violates encapsulation. (Severity: 4) No package-scoped "$VERSION" variable found at line 1, column 1. See page 404 of PBP. (Severity: 2) Code before strictures are enabled at line 1, column 1. See page 429 of PBP. (Severity: 5) Code before warnings are enabled at line 1, column 1. See page 431 of PBP. (Severity: 4) Found "\t" at the end of the line at line 5, column 1. Don't use whitespace at the end of lines. (Severity: 1) Found "\N{SPACE}" at the end of the line at line 6, column 15. Don't use whitespace at the end of lines. (Severity: 1) Builtin function called with parentheses at line 8, column 3. See page 13 of PBP. (Severity: 1) Close filehandles as soon as possible after opening them at line 8, column 3. See page 209 of PBP. (Severity: 4) "$fh" is declared but not used at line 8, column 8. Unused variables clutter code and make it harder to read. (Severity: 3) Useless interpolation of literal string at line 8, column 16. See page 51 of PBP. (Severity: 1) "die" used instead of "croak" at line 8, column 31. See page 283 of PBP. (Severity: 3) Magic punctuation variable $! used in interpolated string at line 8, column 35. See page 79 of PBP. (Severity: 2) Found "\N{SPACE}" at the end of the line at line 8, column 61. Don't use whitespace at the end of lines. (Severity: 1) "die" used instead of "croak" at line 14, column 3. See page 283 of PBP. (Severity: 3)