Package: libperl-critic-perl
Version: 1.121-1

Please see the attached test file.

$ perlcritic --verbose '%p at %l\n' -2 boolean-grep-elsif.pl
BuiltinFunctions::ProhibitBooleanGrep at 10
Miscellanea::ProhibitUselessNoCritic at 10

So it reports that there's ProhibitBooleanGrep at line 10, and that there's no ProhibitBooleanGrep to disable on line 10...

If I replace "elsif" with plain "if", the problems goes away:

$ sed -e 's/elsif/; if/' boolean-grep-elsif.pl > boolean-grep-if.pl

$ perlcritic --verbose '%p at %l\n' -2 boolean-grep-if.pl
boolean-grep-if.pl source OK


-- System Information:
Debian Release: jessie/sid
 APT prefers unstable
 APT policy: (990, 'unstable'), (500, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.14-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libperl-critic-perl depends on:
ii  libb-keywords-perl        1.13-1
ii  libconfig-tiny-perl       2.20-1
ii  libemail-address-perl     1.903-1
ii  libexception-class-perl   1.38-1
ii  libfile-homedir-perl      1.00-1
ii  libfile-which-perl        1.09-1
ii  libio-string-perl         1.08-3
ii  liblist-moreutils-perl    0.33-2
ii  libmodule-pluggable-perl  5.1-1
ii  libpod-spell-perl         1.15-1
ii  libppi-perl               1.215-1
ii  libppix-regexp-perl       0.036-1
ii  libppix-utilities-perl    1.001000-1
ii  libreadonly-perl          1.04-1
ii  libreadonly-xs-perl       1.05-1
ii  libstring-format-perl     1.17-1
ii  libtask-weaken-perl       1.04-1
ii  perl                      5.18.2-4
ii  perltidy                  20140328-1

--
Jakub Wilk
#!/usr/bin/perl

use strict;
use warnings;

our $VERSION = '3.14';

if (1) {
	# moo
} elsif (grep { $_ } qw(moo moo moo)) {  ## no critic (BooleanGrep)
	# moo
}

1;

Reply via email to