Bug#706303: libperl-critic-perl: until block false-positive in hash key

Guillem Jover guillem at debian.org
Tue Apr 30 13:21:53 UTC 2013


Hi!

On Sun, 2013-04-28 at 01:29:55 +0200, Guillem Jover wrote:
> Package: libperl-critic-perl
> Version: 1.118-1
> Severity: normal
> 
> I found the following false-positive while going through the dpkg code
> base:
> 
> ,--- until.pl ---
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> 
> our $VERSION = '0.00';
> 
> my %hash;
> 
> $hash{since}   = 0;
> $hash{until}   = 1;
> $hash{'until'} = 0;
> `---
> 
> which gives:
> 
>   $ perlcritic --verbose 1 -1 until.pl
>   until.pl:11:7:"until" block used

Actually, I missed an older instance that I had already marked to not
be criticized, here's the updated test case:

,--- until.pl ---
#!/usr/bin/perl

use strict;
use warnings;

our $VERSION = '0.00';

my %hash;
$hash{since}   = 0;
$hash{until}   = 1;
$hash{'until'} = 0;

sub func { }
func( { since   => 0, until => 1 } );
func( { until   => 1, since => 0 } );
func( { 'until' => 1, since => 0 } );
`---

And the violations:

  $ perlcritic --verbose 1 -1 until.pl
  until.pl:10:7:"until" block used
  until.pl:15:9:"until" block used

Thanks,
Guillem



More information about the pkg-perl-maintainers mailing list