in reply to Re: Line by line parsing from one file, comparing line by line to another file
in thread Line by line parsing from one file, comparing line by line to another file
Upon my modifications, and executing the script, I get the following errors.
$ perl.exe perl1.pl
Variable "$NAMES" is not imported at perl1.pl line 36.
Global symbol "$NAMES" requires explicit package name at perl1.pl line
36.
Missing comma after first argument to open function at perl1.pl line
43, near ""
Cannot open target file. $!\n";"
Execution of perl1.pl aborted due to compilation errors.
UPDATE- Modifications.
#!/usr/bin/perl
#read each line in test1.txt into data_file array
use strict;
use warnings;
my $data_file = "test1.txt";
my $names_file = "code.txt";
my $target_file = "target.txt";
my @data = (); # Cannot be the same name as above
my @names_data = ();
my @target = ();
my $line = '';
open(DATA, $data_file)
|| die ("Could not open file! $!\n");
@data=<DATA>;
close DATA;
open(NAMES, $names_file)
|| die ("Could not open file! $!\n");
@names_data=<NAMES>;
close NAMES;
#read each line in code.txt into a names_file array
foreach $line (@data) {
#create loop that reads each ID in
#code.txt (NAMES array), searches for
#each in array elements for test1.txt
#(DATA array), redirects a new
#(NAMES).html for each element
foreach ( @names_data )
{
chomp;
push @target, qq|$line<0> > +("$NAMES.html")\n|;
#I do not understand what you are trying to do above...
#Just modify the part between the pipes |...\n| to include
#whatever variables you are wanting.
}
}
open TARGET ">$target_file"
|| die "Cannot open target file. $!\n";
print TARGET @target;
close TARGET;