in reply to File Search And Compare

I think this node by Ovid should help; it's an answer to pretty much the same question.

I found it using Super Search.

Update: PyroX, I had hoped you would use Ovid's code as example of how to do what you were trying to do (not just plug his code into yours without understanding why it worked).

Unfortunately, it looks like you got confused by his use of Perl's build in DATA filehandle (which is often used in demonstration versions of programs on this site).

The sample code looks like this:
# open LOG, "< $log" or die "Can't open $log: $!"; while (<DATA>){ push (@data, $_) if $_ =~ /$ip/; } # close LOG;
Ovid has commented out the lines that open the external file to be read, and is instead reading from the __DATA__ section that appears at the bottom of the same file. To make this work with an external file you would uncomment those lines, and change the filehandle name in the input operator(<>), as follows:
open LOG, "< $log" or die "Can't open $log: $!"; # Uncommented while (<LOG>){ # Changed filehandle name push (@data, $_) if $_ =~ /$ip/; } close LOG; # Uncommented
I hope this makes things more clear. :-)

Impossible Robot