¿Ya dominas lo básico? Un curso estructurado de Perl es la vía rápida para dar el salto.
Ver cursos de Perl en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Variables (variables escalares, $)
- 04Condicionales (la sentencia if)
- 05Repetir (el bucle for)
- 06Escribir una subrutina (una función)
- 07Repetir (el bucle while)
- 08Trabajar con arrays (@)
- 09Trabajar con hashes (%)
- 10Coincidencia con expresiones regulares
- 11Sustitución con expresiones regulares (s///)
- 12Trabajar con texto
- 13Referencias
- 14Subrutinas anónimas
- 15Entrada y salida de archivos, lo básico
- 16Módulos y use strict / warnings
- 17El operador ternario
- 18Ordenar (sort)
- 19Paquetes y lo básico de la orientación a objetos
- 20[Proyecto] Construye un mini sistema de inventario
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.
🧪 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).
