Si quieres saber qué es lo que hace una serie de línea o un programa entero, puedes arrancar perl en modo depuración:
Using bash Syntax Highlighting
perl -d kk.pl
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
El código muestra dos formas distintas de crear referencias a otras variables.
$rentero es una referencia a una variable escalar (
$entero). Así que
$$rentero es lo mismo que escribir
${$rentero}. Esto hace que accedamos al contenido de
$entero, al desreferenciar. Con
${} estamos diciendo que lo que hay entre las llaves es una referencia a un escalar. Y eso es lo que obtenemos.
En cambio,
$nombre es una referencia simbólica: está guardando el nombre de la variable. Así, con
$$nombre, es lo mismo que poner
$entero. Y así accedemos al contenido de la variable
$entero.
Atención: las variables simbólicas NUNCA hay que usarlas: hacen el código muy difícil de leer y mantener. Casi siempre se pueden sustituir por un diccionario.