#!/usr/bin/env perl use warnings; use strict; # tests for Perl::Critic::Policy::BuiltinFunctions::GrepWithSimpleValue # run me with e.g.: perl -c greptest.pl && perlcritic -3 greptest.pl my @array = qw/a b c 1 2 3/; my (@out,$foo); ## no critic (RequireBlockGrep) @out = grep "foo", @array; # bad @out = grep /foo/, @array; # good @out = grep $_ eq "foo", @array; # good @out = grep {;} @array; # bad @out = grep {"foo"} @array; # bad @out = grep {/foo/} @array; # good @out = grep {123} @array; # bad @out = grep {0x123} @array; # bad @out = grep {$_ eq "foo"} @array; # good @out = grep {'$foo1'} @array; # bad @out = grep {'$foo2';} @array; # bad @out = grep {"$foo"} @array; # good @out = grep {'$foo3';;} @array; # bad @out = grep {'$foo4';'bar'} @array; # bad my @ary; push @ary, "foo" unless grep { "foo" } @ary; # bad push @ary, "foo" unless grep { $_ eq "foo" } @ary; # good