use strict; use warnings; open OUF, '>', 'CollectedInfo.txt' or die; while (my $FName = shift) { print OUF doit($FName), "\n\n"; } close OUF; sub doit { my $text; if (! open INF, '<', $_[0]) { print "Can't open file '$_[0]', skipped!\n"; return ''; } # slurp in the entire file local $/; $text = ; # Trim off everything before "Hit # of #" $text =~ s/^.*?Hit\s+\d+of\s\d+//; # Trim off everything after "listed since:" $text =~ s/listed since:.*$//; # Code for cleaning up the text goes here # (left as exercise for the reader) # Return desired chunk of text return $text; }