[bcn-pm] Ordenando arreglos y hashes

Timothy Chen Allen tim at timallen.org
Thu Jan 1 10:43:29 CST 2004


Aqui tienes un programa que ilustra algunas formas de jugar con ordenar con
tus ejemplos.  El unico que me estra~a es que quieres ordenar por el valor
numerico del hash-- en tu ejemplo, los *valores*, no las llaves, son
numericos.  Como dice Xavi, leete el perldoc.  Tambien, seria interesante
mirar el efecto de poner un use strict al principio de este programa-- hay
cosas que romperian en seguida de que podrias aprender.  Bonas festas! -tim:

# numerico
@arrelgo=(40,100,1,50);
print "num\n";
map {print "$_\n"} (sort {$a <=> $b} @arrelgo);

# ordenar de manera alfabeticamente:
@arreglo=(luis,alberto,karla);
print "\nalfa\n";
map {print "$_\n"} (sort {$a cmp $b} @arreglo);

# y en el caso de hashes quisiera ordenarlo por
# el valor numerico de las llaves:
print "\nhash\n";
$ejemplo{luis}=100;
$ejemplo{alberto}=200;
$ejemplo{karla}=150;
map {print $ejemplo{$_}."\n"} (sort {$ejemplo{$a} cmp $ejemplo{$b}} (keys
%ejemplo));




More information about the Barcelona-pm mailing list