La función sort admite como primer argumento un bloque que determina la función de comparación.
Dicho bloque depende de dos variables ''especiales'' a y b .
El valor retornado por un bloque es el valor asociado con la última sentencia del bloque.
En este caso sort espera que el bloque
devuelva -1, 0 ó 1. Dicho valor es utilizado como elemento de comparación.
Por ejemplo:
lhp@nereida:~/Lperl/src$ perl -dwe 0
main::(-e:1): 0
DB<1> @a = (4, 7, 9, 12, -1)
DB<2> p 4 <=> 7
-1
DB<3> p 9 <=> 2
1
DB<4> p 13 <=> 12+1
0
DB<5> @a = sort { $a <=> $b } @a;
DB<6> p "@a"
-1 4 7 9 12
DB<7> @a = sort { $b <=> $a } @a;
DB<8> p "@a"
12 9 7 4 -1
Casiano Rodríguez León
