in reply to "Pattern Matching", not using regex

Well, it's not quite clear what you want, but I think you want the following: given two large files, F1, and F2, find all lines in F2 that are as well in F1.

You could so something like (following code is untested, just shown here to guide you, not for cut-and-paste purposes):

use AnyDBM_File; use Fcntl; my $pattern_file = "whatever 1"; my $target_file = "whatever 2"; my $dbm = "/tmp/matchdbm"; tie my %db => AnyDBM_File => $dbm, O_CREAT | O_RDWR, 0666 or die "Failed to tie to $dbm: $!"; open my $pf => $pattern_file or die "Failed to open $pattern_file: $!" +; open my $tf => $target_file or die "Failed to open $target_file: $!"; + $db {$_} ++ while <$pf>; my @buff = ("", "", ""); while (<$tf>) { @buff = (@buff [1, 2], $_); print @buff if $db {$buff [1]}; } @buff = (@buff [1, 2], ""); print @buff if $db {$buff [1]};

Abigail