PDA

Visualizza la versione completa : [Perl] if ($i=0) ???


Jeyne
02-08-2004, 17:08
Ho notato che queste istruzioni, che a me paiono tanto ovvie (ma non conosco perl)... col perl non funzionano:


$i=0;
if ($i= 0) {print "peppo"};


mentre così si....



$i=1;
if ($i= 1) {print "peppo"};


:master: :master: :master:

c'è qualcuno che sa il motivo??
grazie
:smack:

shishii
02-08-2004, 20:33
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{}"

Jeyne
04-08-2004, 12:30
ma quanto sono scema!!... avevo avuto la sensazione che per perl il segno dell'uguale e del confronto fossero la stessa cosa...


:confused: :confused: :confused:

grazie
:smack: :smack:

Loading