foreach my $filename (@files) { open(my $fh, '<', $filename) or die("Unable to open input file $filename: $!\n"); my $batch = ''; OUTER: while (my $line = <$fh>) { while (not $line =~ m/^\s*go\s*$/i) { $batch .= $line; last OUTER unless $line = <$fh>; } $dbh->do($batch); } } #### foreach my $filename (@files) { open(my $fh, '<', $filename) or die("Unable to open input file $filename: $!\n"); my $batch = ''; while (my $line = <$fh>) { if (not $line =~ m/^\s*go\s*$/i) { $batch .= $line; next; # Go read next line. } $dbh->do($batch); $batch = ''; } }