How about this? I know it's not fancy, but I did test it.
#!/usr/bin/perl
# file : mike.pl
use warnings;
use strict;
#search directory for files ending with .RPT and store the names in an
+ array
my @files=glob("*.RPT");
my $i; my $x;
my $readline;
#open file containing expressions to search for
open FILE, "params.txt" or die "Couldn't open the file. $!";
my @params=<FILE>;
close FILE; # remember to close what you open
#for each file in array open and search for string
foreach $i (@files){
open INPUT, "$i" or die "Couldn't open the file. $!";
my $thisout = substr($i, 0, index($i, ".")) . ".txt"; # form the n
+ame of the output .txt file
open OUTPUT, ">$thisout";
while ($readline = <INPUT>){ # for each line in the input fi
+le,
foreach $x (@params) { # for each parameter in the list
chomp($x); # get rid of any newline nonsense that migh
+t be there
if ($readline =~ m/$x/){ # if the param is in the line, prin
+t the line.
chomp($readline);
print OUTPUT "$readline\n";
}
}
}
close INPUT; # close what you open
close OUTPUT; # close what you open
}