in reply to help with search and match
Note that split with a pattern of a single space, as shown above, has a special meaning. Read about split in perlfunc.while (my($name,$n1,$n2)=split(' ',<INFILE>) { # do something... }
Prep your file2 by reading the whole thing into an array.
Now, use the grep function to check for matches against the array. Inside the "do something..." body of the loop above,open FILE, "< file2.txt" or die; my @file2= <FILE>; # read the whole thing close (FILE);
That's untested, but should give you some ideas. This introduces some "Perl ways" without being too thick to understand for a novice.foreach my $hit (grep /^$name\w+/, @file2) { my($name_2,$n1_2,$n2_2)=split(' ',$hit); # same as you did before. print "Found $hit\n" if $n1 == $n1_2; }
Good luck.
—John
|
|---|