use strict;
use Text::Table;
my $best = {'key1'=>[1,2,3],'key2'=>['f','g','h'],'el1'=>['y','z','z1']};
my $keep_best = {'key1'=>[4,5], 'el1'=>['w','x'],'key2'=>['i','j','k']};
my $table = Text::Table->new("key\n---","BEST\n----","KEEP BEST\n-------");
foreach my $key (sort keys %$best){
$table->add($key,@{$best->{$key}}[$_],@{$keep_best->{$key}}[$_])
for (0..$#{$best->{$key}});
}
print $table;
####
key BEST KEEP BEST
--- ---- ---------
el1 y w
el1 z x
el1 z1
key1 1 4
key1 2 5
key1 3
key2 f i
key2 g j
key2 h k
####