MT#62763 Use a scoped variable instead of a local bareword

Warned-by: perlcritic
Fixes: Variables::RequireInitializationForLocalVars
Fixes: InputOutput::ProhibitBarewordDirHandles
Fixes: InputOutput::ProhibitBarewordFileHandles
Change-Id: I835b434ac548540057f5540ea2a76dc9b68232e0
mr13.4
Guillem Jover 6 months ago
parent 328bce85cc
commit 8fe653087b

@ -152,35 +152,33 @@ sub _scandirfiles {
my ($inputdir,$slurp,$code) = @_; my ($inputdir,$slurp,$code) = @_;
local *DIR; opendir my $dir_dh, $inputdir
if (not opendir(DIR, $inputdir)) { or die 'cannot opendir ' . $inputdir . ': ' . $!;
die('cannot opendir ' . $inputdir . ': ' . $!); my @files = grep {
} /$rperlextensions$/ && -f $inputdir . $_
my @files = grep { /$rperlextensions$/ && -f $inputdir . $_} readdir(DIR); } readdir $dir_dh;
closedir DIR; closedir $dir_dh;
return unless (scalar @files) > 0; return unless (scalar @files) > 0;
foreach my $file (@files) { foreach my $file (@files) {
my $inputfilepath = $inputdir . $file; my $inputfilepath = $inputdir . $file;
next if grep { $_ eq $inputfilepath; } @filestoskip; next if grep { $_ eq $inputfilepath; } @filestoskip;
my ($inputfilename,$inputfiledir,$inputfilesuffix) = File::Basename::fileparse($inputfilepath, $rperlextensions); my ($inputfilename,$inputfiledir,$inputfilesuffix) = File::Basename::fileparse($inputfilepath, $rperlextensions);
local *FILE; open my $fh, '<' . $inputfilepath
if (not open (FILE,'<' . $inputfilepath)) { or die 'cannot open file ' . $inputfilepath . ': ' . $!;
die('cannot open file ' . $inputfilepath . ': ' . $!);
}
if ($slurp) { if ($slurp) {
my $line_terminator = $/; my $line_terminator = $/;
$/ = undef; $/ = undef;
my $data = <FILE>; my $data = <$fh>;
&$code(\$data,$inputfilename,$inputfiledir,$inputfilesuffix); &$code(\$data,$inputfilename,$inputfiledir,$inputfilesuffix);
$/ = $line_terminator; $/ = $line_terminator;
} else { } else {
while (<FILE>) { while (<$fh>) {
last unless &$code($_,$inputfilename,$inputfiledir,$inputfilesuffix, sub { last unless &$code($_,$inputfilename,$inputfiledir,$inputfilesuffix, sub {
<FILE>; <$fh>;
}); });
} }
} }
close(FILE); close $fh;
} }
} }

Loading…
Cancel
Save