lib/DBMerge.pm
sub handle_each_table {
my($self) = @_;
my $table_handlers = $self->table_handlers;
my $unconverted = $self->unconverted;
for(my $i = 0; $i < $#{$table_handlers}; $i += 2) {
my $table = $table_handlers->[$i];
my $args = $table_handlers->[$i + 1] or next;
my $handler = shift @$args;
my $method = 'handle_' . $handler;
if($self->can($method)) {
if($table and $handler ne 'skip') {
$self->check_columns($table);
}
$self->$method($table, @$args);
delete $unconverted->{$table};
}
elsif("$handler" =~ /^\d+$/) {
next;
}
else {
die "don't know how to handle: '$handler'";
}
}
}