Hi All,
I have a total of ten file to open in the Perl script and i am using a for loop to open each file and capture some strings inside each file.
Unfortunately, i encounter the below syntax error.
I think there should be something wrong with this term reports_${counting}_${_[0]}.txt but i do not know how to modify the code to suit this.
Can any expert help me with this ?
The file names which i wish to open are :
reports_1_MAIN
reports_2_MAIN
reports_3_MAIN
...
...
reports_10_MAIN
#!/usr/local/bin/perl
use Env; # for processing environment variables
use strict;
use warnings;
my $test = "MAIN";
capture_LOT_DATE ($test);
sub capture_LOT_DATE {
my $counting = 1;
my @fields;
my @DATE;
my @date;
my @lotsuffix;
for ($counting = 1; $counting <= 10 ; $counting++ ) {
open(FH, "< $HISTORY/reports_${counting}_${_[0]}.txt" ) or die $!;
while( <FH> ) {
my @Fld = split(' ', reports_${counting}_${_[0]}.txt);
if ( $Fld[1] eq 'LOTSUFFIX=' ) {
$lotsuffix[$counting] = $Fld[2];
last;
}
if ( $Fld[1] eq 'DATE=' ) {
$DATE[$counting] = $Fld[2];
@fields = split(/-/, $DATE[$counting]);
$date[$counting] = sprintf {"%s-%s",$fields[1],$fields[2]};
}
}
close FH;
}
}
Syntax Error
Bareword found where operator expected at near "${counting}_"
(Missing operator before _?)
Bareword "txt" not allowed while "strict subs" in use
Bareword "files_extracted" not allowed while "strict subs" in use
Bareword "txt" not allowed while "strict subs" in use