open my $wave, '>', 'Wave' or die "Can't open $wave: $!"; #### #!usr/bin/perl use strict; use warnings; open my $wave, '>', 'Wave' or die "Can't open 'Wave': $!"; open my $keywords, '<', 'Agents' or die "Can't open 'Agents': $!"; open my $search_file, '<', 'Definitions' or die "Can't open 'Definitions': $!"; my $keyword_or = join '|', map {chomp; qr/\Q$_\E/} <$keywords>; my $regex = qr|\b($keyword_or)\b|; while (defined (my $line = <$search_file>)) { while ($line =~ /$regex/g) { next if $line =~ /(SCRIPTNAME|DESCRIPTION)/; print $wave $line; last; } }