Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: perlcritic & test files

by osbosb (Monk)
on Aug 02, 2011 at 16:59 UTC ( [id://918101]=note: print w/replies, xml ) Need Help??


in reply to Re: perlcritic & test files
in thread perlcritic & test files

I'm not contributing anything to the OP, but this made me wonder about perl critic. So I installed and and started to play. Everything I've written, so far, passes it(at least from the documentations example) so I deliberately coded something that does not pass strictures:
#!/usr/bin/perl use strict; use warnings; $thing = "bleh"; print "hello $thing $bleh\n";
Here's critic:
#!/usr/bin/perl use strict; use warnings; use Perl::Critic; my $file = shift; my $critic = Perl::Critic->new(); my @violations = $critic->critique($file); print "@violations\n";
And here's my result:
$ perl critic ;perl thing Global symbol "$thing" requires explicit package name at thing line 6. Global symbol "$thing" requires explicit package name at thing line 8. Global symbol "$bleh" requires explicit package name at thing line 8. Execution of thing aborted due to compilation errors.
What's the purpose of this 'critic' module anyhow?

Replies are listed 'Best First'.
Re^3: perlcritic & test files
by trwww (Priest) on Aug 02, 2011 at 18:03 UTC
Re^3: perlcritic & test files
by toolic (Bishop) on Aug 02, 2011 at 19:52 UTC
    Your small code sample has no violations using the default settings on Perl::Critic. However, you can turn up the severity, and start to get complaints. I am more familiar with the perlcritic command line tool:
    $ perlcritic -1 critic Code is not tidy at line 1, column 1. See page 33 of PBP. (Severity: + 1) Use Emacs file variables to declare coding style at line 1, column 1. + Emacs can read per-file settings. (Severity: 2) RCS keywords $Id$ not found at line 1, column 1. See page 441 of PBP. + (Severity: 2) RCS keywords $Revision$, $HeadURL$, $Date$ not found at line 1, column + 1. See page 441 of PBP. (Severity: 2) RCS keywords $Revision$, $Source$, $Date$ not found at line 1, column +1. See page 441 of PBP. (Severity: 2) Missing Perl version at line 1, column 1. Add "use 5.006" or similar. + (Severity: 1) No package-scoped "$VERSION" variable found at line 1, column 1. See +page 404 of PBP. (Severity: 2) Return value of flagged function ignored - print at line 11, column 1. + See pages 208,278 of PBP. (Severity: 1)
    Your results may vary depending on the version of Perl::Critic (I also have additional policies loaded on my system).

    UPDATE: Why didn't you pass a filename on the command line to your critic program? $file has not been assigned a value.

    Also, to set the severity in your critic program:

    my $critic = Perl::Critic->new(-severity=>1);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://918101]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2024-04-19 02:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found