From 1e5163809eff116ff1b34956562e1f6ec0bbf370 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Tue, 6 May 2014 01:33:17 +0200 Subject: perl: Fix unused capture groups false positives These are false positives, as when there's no match perl will leave the subpattern variables untouched. We'll just use the opportunity to unconfuse perlcritic, making some of those variable usages more clear by using intermediate variables. Fixes RegularExpressions::ProhibitUnusedCapture. Warned-by: perlcritic --- scripts/Dpkg/Control/HashCore.pm | 11 ++++++----- scripts/Dpkg/Shlibs/Objdump.pm | 6 ++++-- scripts/dpkg-buildpackage.pl | 9 ++++++--- scripts/dpkg-shlibdeps.pl | 3 ++- 4 files changed, 18 insertions(+), 11 deletions(-) (limited to 'scripts') diff --git a/scripts/Dpkg/Control/HashCore.pm b/scripts/Dpkg/Control/HashCore.pm index 6d6f1c554..dfd5e5531 100644 --- a/scripts/Dpkg/Control/HashCore.pm +++ b/scripts/Dpkg/Control/HashCore.pm @@ -202,16 +202,17 @@ sub parse { $paraborder = 0; if (m/^(\S+?)\s*:\s*(.*)$/) { $parabody = 1; - if ($1 =~ m/^-/) { + my ($name, $value) = ($1, $2); + if ($name =~ m/^-/) { $self->parse_error($desc, _g('field cannot start with a hyphen')); } - if (exists $self->{$1}) { + if (exists $self->{$name}) { unless ($$self->{allow_duplicate}) { - $self->parse_error($desc, _g('duplicate field %s found'), $1); + $self->parse_error($desc, _g('duplicate field %s found'), $name); } } - $self->{$1} = $2; - $cf = $1; + $self->{$name} = $value; + $cf = $name; } elsif (m/^\s(\s*\S.*)$/) { my $line = $1; unless (defined($cf)) { diff --git a/scripts/Dpkg/Shlibs/Objdump.pm b/scripts/Dpkg/Shlibs/Objdump.pm index e83b1cedb..f85fd9aba 100644 --- a/scripts/Dpkg/Shlibs/Objdump.pm +++ b/scripts/Dpkg/Shlibs/Objdump.pm @@ -237,10 +237,12 @@ sub parse_objdump_output { # RUNPATH takes precedence over RPATH but is # considered after LD_LIBRARY_PATH while RPATH # is considered before (if RUNPATH is not set). - $self->{RPATH} = [ split (/:/, $1) ]; + my $runpath = $1; + $self->{RPATH} = [ split /:/, $runpath ]; } elsif (/^\s*RPATH\s+(\S+)/) { + my $rpath = $1; unless (scalar(@{$self->{RPATH}})) { - $self->{RPATH} = [ split (/:/, $1) ]; + $self->{RPATH} = [ split /:/, $rpath ]; } } } elsif ($section eq 'none') { diff --git a/scripts/dpkg-buildpackage.pl b/scripts/dpkg-buildpackage.pl index c2d91cec3..282f08d35 100755 --- a/scripts/dpkg-buildpackage.pl +++ b/scripts/dpkg-buildpackage.pl @@ -210,7 +210,8 @@ while (@ARGV) { } elsif (/^-j(\d*)$/) { $parallel = $1 || ''; } elsif (/^-r(.*)$/) { - @rootcommand = split /\s+/, $1; + my $arg = $1; + @rootcommand = split /\s+/, $arg; } elsif (/^--check-command=(.*)$/) { $check_command = $1; } elsif (/^--check-option=(.*)$/) { @@ -242,7 +243,8 @@ while (@ARGV) { } elsif (/^-a(.*)$/) { $targetarch = $1; } elsif (/^-P(.*)$/) { - @build_profiles = split /,/, $1; + my $arg = $1; + @build_profiles = split /,/, $arg; } elsif (/^-s[iad]$/) { push @changes_opts, $_; } elsif (/^-(?:s[insAkurKUR]|[zZ].*|i.*|I.*)$/) { @@ -306,7 +308,8 @@ while (@ARGV) { # Deprecated option warning(_g('-E and -W are deprecated, they are without effect')); } elsif (/^-R(.*)$/) { - @debian_rules = split /\s+/, $1; + my $arg = $1; + @debian_rules = split /\s+/, $arg; } else { usageerr(_g('unknown option or argument %s'), $_); } diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl index 5b51b6d15..dcc114db9 100755 --- a/scripts/dpkg-shlibdeps.pl +++ b/scripts/dpkg-shlibdeps.pl @@ -860,7 +860,8 @@ sub find_packages { print { *STDERR } " $_\n" or syserr(_g('write diversion info to stderr')); } elsif (m/^([-a-z0-9+.:, ]+): (\/.*)$/) { - $cached_pkgmatch{$2} = $pkgmatch->{$2} = [ split(/, /, $1) ]; + my ($pkgs, $path) = ($1, $2); + $cached_pkgmatch{$path} = $pkgmatch->{$path} = [ split /, /, $pkgs ]; } else { warning(_g("unknown output from dpkg --search: '%s'"), $_); } -- cgit v1.2.3