local $/ = ''; while (<$fh>) { if ( my ($table) = /^ADD TABLE "([^"]+)"/ ) { ... } elsif ( my ($field, $table, $type) = /^ADD FIELD "([^"]+)" OF "([^"]+)" AS (\w+)/ ) { my ($format) = /^ FORMAT "([^"]+)"/m; ... } }