If I felt as you do, I'd probably add a perlcritic check to my makes. But you could just use themes something like this:
#!/usr/bin/perl
use warnings;
use strict;
use File::Basename;
my ( $DEFAULT, $PM_THEME, $PL_THEME, $T_THEME )
= qw( rir rir_large rir rir );
my %themes = (
'.t' => $T_THEME,
'.pm' => $PM_THEME,
'.pl' => $PL_THEME,
);
my $file = pop @ARGV;
my ( $name, $path, $suffix ) = fileparse( $file, qr{\.\w+} );
local $, = ' ';
# forking could scale up better
if ($suffix) {
print `perlcritic @ARGV -theme $themes{$suffix} $file`;
}
else {
# STDIN or unknown extension ( or anything else YYY? )
print `perlcritic @ARGV -theme $DEFAULT $file`;
}
Be well,
rir