http://www.perlmonks.org?node_id=711580


in reply to split one file into many on finding a new line

Another way to do it would be to examine each line, and if it's a CREATE TABLE line, close the previous file and start a new one.
if ($line =~ /CREATE TABLE/) { close (FILE) ($filename) = $line =~ /CREATE TABLE ([\S]*)/; open (FILE, >$filename); }
A similar method would also work if you have a more complicated delimiter, such as (for instance), an email address and name, but not an email and website.

Spacewarp

DISCLAIMER:
Use of this advanced computing technology does not imply an endorsement
of Western industrial civilization.