Ciao,

i reference simbolici sono uno strumento residuale, da usare solo quando non è possibile altro, per i seguenti motivi:

- sicurezza: in pratica affidi la costruzione della variabile all'utente.

- debug: diviene molto difficoltoso in quanto il nome della variabile non esiste in maniera stabile nella tabella dei simboli.

- prestazioni: l'interprete effettua queste operazioni in maniera più lenta del normale.

Tanto è vero che se tu usassi il pragma
use strict;

obbligatorio per chi fa buona programmazione il tuo programma genererebbe un errore irreversibile.

Gli if non sono per nulla annidati ma tutti sullo stesso piano e perl non ha problemi a gestire la miseria di 9 alternative.