my $sql_file = '/path/to/file.sql'; my $dbh; # DBI connection initilized elsewhere my $query = ' '; open (SQL, '<', $sql_file) or die "Can't open $sql_file: $!\n"; while (my $line = ) { chomp $line; $line = join(' ',split(' ',$line)); if ((substr($line,0,2) ne '--') and (substr($line,0,3) ne 'REM')) { if (substr($line,- 1,1) eq ';') { $query .= ' ' . substr($line,0,length($line) -1); $dbh->do($query) or warn "Can't execute statement in $sql_file, line $.: " . $dbh->errstr; $query = ' '; } else { $query .= ' ' . $line; } } } close(SQL);