eheheheheh![]()
questo con il perl c'entra poco... infatti avresti lo stesso risultato con il 90% dei linguaggi di programmazione, i quali distinguono tra "uguale" in senso di assegnazione di un valore, e "uguale" in senso di confronto tra valori.
per cui se dici $i=0 tu assegni 0 alla variabile $i, inoltre se scrivi
if($i=0){...}
dici che vuoi eseguire quanto contenuto in {} solo se l'asegnazione restituisce TRUE, il che non può essere poichè 0 è sempre FALSE.
Al contrario con
if($i=1){}
ottini sempre TRUE.
Per fare quello che ti serve, cioè un confronto devi scrivere:
if($i==0)
oppure
if($i==1)
che significa "se $i è uguale ad x allora esegui{}"