if ( @{$self->{col_names}} ) { my $missing = @{$table_ref->[0]} - @{$self->{col_names}}; if ( $missing > 0 ) { my $last = pop @{$self->{col_names}}; unshift @$table_ref, [ @{$self->{col_names}}, map { $_ . $last } 1 .. $missing + 1 ]; push @{$self->{col_names}}, $last; } else { unshift @$table_ref, [ @{$self->{col_names}}[ 0 .. $#{$table_ref->[0]} ] ]; } }