Lección 18 / 20

Ordenar (sort)

En esta lección ordenarás una lista de números de menor a mayor.

sort ordena una lista, y el bloque entre llaves dice cómo comparar. Dentro de ese bloque, $a y $b son los dos elementos que se están comparando, y <=> los compara como números.

El código de ejemplo ordena cuatro números y los imprime separados por espacios.

Aquí está uno de los tropiezos más famosos de Perl: sort @nums a secas no ordena por valor numérico, sino alfabéticamente, y devuelve 1, 100, 30, 5 porque «100» va antes que «30» como texto. El bloque con <=> no es un adorno: es lo que hace que el orden sea el que esperas. Para ordenar textos, el operador equivalente es cmp.

De ahí sale un patrón habitual: sort { $b <=> $a } invierte el orden intercambiando las dos variables, y para ordenar estructuras se compara un campo, como sort { $a->{quantity} <=> $b->{quantity} } @items.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Perl directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)