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'";
        }
    }
}