use strict; use warnings; my $record = ""; opendir (DIR, "C:/Users/input/") or die "$!"; my @files = readdir DIR; close DIR; splice (@files,0,2); open(MYOUTFILE, ">>output/output.txt"); foreach my $file (@files) { open (CHECKBOOK, "binput/$file")|| die "$!"; while ($record = ) { if ($record=~ /^start\b$/ .. /^end\b$/) { print MYOUTFILE "$file;$record\n"; } } close(CHECKBOOK); } close(MYOUTFILE);