NodeReaper has asked for the wisdom of the Perl Monks concerning the following question:

Replies are listed 'Best First'.
Re: Double While!
by kilinrax (Deacon) on Mar 01, 2001 at 22:14 UTC
    I can see a number of things wrong here:
    • You aren't actually iterating over anything. Try 'while(<FILE1>)' rather than just 'while()'.
    • The second filehandle won't reset on each iteration of the outer loop. Try slurping the data into an array / hash instead.
    • You didn't use code tags. Try reading the FAQ.
    Here's a quick example of a better way to do this:
    #!/usr/bin/perl -w use strict; open(FILE1,"/tmp/file1") or die "Couldn't open /tmp/file1: $!"; open(FILE2,"/tmp/file2") or die "Couldn't open /tmp/file2: $!"; my @array; my %hash; while (<FILE1>) { chomp; push @array, $_; } while (<FILE2>) { chomp; $hash{$_} = ''; } close FILE1; close FILE2; foreach (@array) { if(exists $hash{$_}) { print "$_ matched!\n" } }