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