opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!"; while ($file = readdir()) { if ($file =~ /Somthing/){ open(FILE, $file); #Now I need it to match 3 things that #will be on different lines in the file. #The words PASS,sweeps,Final.Also #these files are big(100mb), so its not a good #idea to suck them into an array and grep, #unless it's my last choice. close(FILE); } close(DIR); }