#!/usr/bin/perl -w use strict; open WORDS, ") { chomp; $kwords{$_} = qr/\b$_\b/m; } close WORDS; my %found =(); for my $f () { local $/; open FILE, $f or die "$f\n"; my $text = ; close FILE; for (keys %kwords) { my $val = $kwords{$_}; $found{$f} .= "$_ " if $text =~ /$val/; } } print "$_\t$found{$_}\n" for sort keys %found;