keys
Devuelve un arreglo con las llaves de la tabla asociativa pasada como parámetro. Es muy útil
para realizar bucles iterativos sobre tablas.
my $codon; my %codones = ('GCC'=>'Ala','GCG'=>'Ala','ATG'=>'Met'); my @llaves = keys(%codones); foreach $codon (@llaves) { print "$codon $codones{ $codon } \n"; } foreach $codon (sort (@llaves)) # itera sobre las llaves ordenadas alfabéticamente { print "$codon $codones{ $codon } \n"; }
values
Devuelve un arreglo con los valores de la tabla asociativa pasada como parámetro.
my $codon; my %codones = ('GCC'=>'Ala','ATG'=>'Met'); my @valores = values(%codones); # contiene 'Ala' y 'Met'
Aprovecho aquí para mostraros cómo se pueden ordenar las tablas asociativas por valor. Como es lógico, la solución pasa por ordenar las llaves por sus valores asociados:
my @llaves_ordenadas = sort {$hash{$a} <=> $hash{$b}} ( keys(%hash) );
Bruno Contreras-Moreira