Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Sort and summarize perlcritic output

by toolic (Chancellor)
on Nov 28, 2012 at 03:00 UTC ( #1005951=CUFP: print w/ replies, xml ) Need Help??

This is how I run perlcritic. It sorts the output by severity, and it makes it easy to access the POD for a given policy (via perldoc with a simple copy'n'paste in your shell). It also runs lint checking using B::Lint.
=head1 Name B<pcsort> - Sort perlcritic 'brutal' output by severity =head1 Description Input is a Perl script or module. Prints to STDOUT. Example: pcsort foo.pl Also runs perl -MO=Lint. See also ~/.perlcriticrc file =cut use warnings FATAL => 'all'; use strict; use Data::Dumper; $Data::Dumper::Sortkeys = 1; my $file = shift; my %hoa; my %pols; # These command line settings override same settings # in ~/.perlcriticrc file my @lines = qx(perlcritic --brutal --verbose 9 $file); for (@lines) { if (/ \[ ([\w:]+) \] .*? Severity : \s+ (\d) /x) { chomp; my $pol = $1; my $sev = $2; push @{ $hoa{$sev} }, $_; $pols{"perldoc Perl::Critic::Policy::$pol"}++; } } print Dumper(\%hoa); print 'TOTAL = ', scalar @lines, "\n"; print "$_\n" for sort keys %pols; my $lint = "perl -MO=Lint $file"; print "\n$lint\n"; print qx($lint 2>&1); # Make sure it all goes to STDOUT

Comment on Sort and summarize perlcritic output
Download Code
Re: Sort and summarize perlcritic output
by Anonymous Monk on Nov 29, 2012 at 09:07 UTC
Re: Sort and summarize perlcritic output
by Tommy (Chaplain) on Jan 01, 2013 at 16:26 UTC

    This is really nice. Thank you.

    --
    Tommy
    $ perl -MMIME::Base64 -e 'print decode_base64 "YWNlQHRvbW15YnV0bGVyLm1lCg=="'

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://1005951]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-12-29 00:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (183 votes), past polls