foreach (@files) { my $FH = $_; open (FILE, "<$FH"); OUTER: while (my $line = ) { my $batch; do { $batch .= $line; last OUTER; } until ($line =~ m/^\s*go\s*$/i); $dbh->do($batch) if ($line =~ m/^\s*go\s*$/i); } }