Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
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 cooling their heels in the Monastery: (14)
As of 2015-03-30 20:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When putting a smiley right before a closing parenthesis, do you:









    Results (659 votes), past polls