## name one statement before package ## failures 1 ## cut $foo = $bar; package foo; END_PERL $policy = 'Modules::RequireExplicitPackage'; is( pcritique($policy, \$code), 1, $policy.' 1 stmnt before package'); #----------------------------------------------------------------------------- ## name BEGIN block before package ## failures 1 ## cut BEGIN{ print 'Hello'; #this violation will be squelched print 'Beginning'; #this violation will be squelched } package foo; #----------------------------------------------------------------------------- ## name inclusion before package ## failures 1 ## cut use Some::Module; package foo; #----------------------------------------------------------------------------- ## name two statements before package ## failures 1 ## cut $baz = $nuts; print 'whatever'; #this violation will be squelched package foo; #----------------------------------------------------------------------------- ## name no package at all ## failures 1 ## cut print 'whatever'; #----------------------------------------------------------------------------- ## name no statements at all ## failures 0 ## cut # no statements #----------------------------------------------------------------------------- ## name just a package, no statements ## failures 0 ## cut package foo; #----------------------------------------------------------------------------- ## name package OK ## failures 0 ## cut package foo; use strict; $foo = $bar; #----------------------------------------------------------------------------- ## name programs can be exempt ## failures 0 ## parms {exempt_scripts => 1} ## cut #!/usr/bin/perl $foo = $bar; package foo; #----------------------------------------------------------------------------- ## name programs not exempted ## failures 1 ## parms {exempt_scripts => 0} ## cut #!/usr/bin/perl use strict; use warnings; #this violation will be squelched my $foo = 42; #this violation will be squelched #----------------------------------------------------------------------------- ## name programs not exempted, but we have a package ## failures 0 ## parms {exempt_scripts => 0} ## cut #!/usr/bin/perl package foo; $foo = $bar; #----------------------------------------------------------------------------- ## name Work around a PPI bug that doesn't return a location for C<({})>. ## failures 1 ## cut ({})