#!/usr/bin/perl -w use strict; use warnings; my $dbfile; my $dbname = q{}; my $header = q{}; while (<>) { if (m/-- Current Database\: \`([-\w]+)\`/) { if (defined $dbfile && tell $dbfile != -1) { close $dbfile or die "Could not close file!" } $dbname = $1; open $dbfile, ">>", "$1_dump.sql" or die "Could not create file!"; print $dbfile $header; print "Writing file $1_dump.sql ...\n"; } if (defined $dbfile && tell $dbfile != -1) { print $dbfile $_; } if (! $dbname) { $header .= $_; } } close $dbfile or die "Could not close file!"