Newsgroup: it.comp.lang.perl
Titolo: Contrario di EQ

vorrei scrivere un if come segue:
if ( $FORM{'name} eq "Eldorado" ){
...........
}
però all'incontrario (cioè che esegue per tutti quelli che NON sono uguali a
"Eldorado").
Non voglio usare ELSE {...}
Grazie

 cerchero' un'altra donna dentro ai sogni di Tarzan...

 wrote in message
news:37d91330.22727780@proxy...


Posso fare questa funzione anche se il campo testo del form è un tipo
password?
if ($form{'pass'} ne "password") {...}


if ($form{'pass'} ne "password") {...}
Premetto che $form{pass} e $FORM{pass} prendono i valori da due hash
_diversi_, ovvero %form e %FORM.
Poi: "not equal" e' "ne", non "EN" ne' "NE".
Infine: stai testando i valori di un hash array, a questo punto di
cosa sia un form HTML non ne sai _nulla_.
Questo vuol dire che se nel tuo form d'origine non c'e' un campo
(hidden o meno) il cui nome e' "name" il valore $FORM{'name'} (con
%FORM definito sui valori di una FORM HTML) sara' NUL.
E vuol dire anche che %FORM _non_ _sa_ minimamente di provenire da una
form, non e' altro che un hash array. Puoi sempre controllare
$FORM{pass}, e' sufficiente che %FORM sia un hash array; se la chiave
'pass' non c'e' avrai il valore NUL (0 numerico, '' stringa).


 'pass' non c'e' avrai il valore NUL (0 numerico, '' stringa).
No. Quello e' il valore falso. NUL non esiste in Perl (se non per indicare
il carattere ASCII 0, che non e' falso!)
Deve controllare l'esistenza della chiave
  if ( exists $FORM{'pass'} )
    {...}
 
oppure puo' controllarne l'essere definito
 if (defined $FORM{'pass'})
 
con le dovute differenze tra le due cose, come evidenziato in perlfaq4
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

 '' stringa).
mi permetto di dissentire...
se la chiave non c'č avrai il valore undef, che č diverso
da 0 numerico e '' stringa.
__END__
# Aldo Calpini
print sort {$_{$a} cmp $_{$b}} values %{{split undef,
"xritajbugne fahokem csuctawer jhdtlrnpqloevkshpr"}};

il carattere ASCII 0, che non e' falso!)
Sacrosanto, ma il nostro non conosceva ancora 'ne' e confondeva le
proprieta' di una form HTML con le chiavi dell'hash array in cui le
riceveva. Ecco perche' ho usato il dispositivo nullo del DOS, il
discorso completo mi sembrava un po'... come dire... prematuro ;o)


 per indicare il carattere ASCII 0, che non e' falso!)
  In PERL 0, '0' e '' sono tutti (ed essi solamente) valutati come
"falso".
	Alla prossima,
		Marco




 Infatti. 
 Per cui una stringa contentente il carattere ASCII 0 non e' falsa,
 cosa che volevo dire io.
 
   $var = "\0";
   print "var non e' falso\n" if $var; 


 "falso".
mi permetto di ridissentire (sono un rompipalle, lo so, ma la
correttezza innanzitutto ;-)...
0, '0' e '' non sono i SOLI valori valutati come falsi, anche
undef lo č!!!
bye...


undef lo č!!!
Infatti si... ed infatti questo e' quello che dicevo al tipo (ecco
perche' semplificavo dicendogli che tornavano un valore nullo).


 valori valutati come falsi, anche undef lo č!!!
  /undef/ non e` una costante ma un operatore che ritorna il valore
indefinito.
	Alla prossima,
		Marco

 il valore indefinito.
stai a vedere che c'hai ragione tu...
s/undef/il valore indefinito/g; #  ;-)
bye!


 stai a vedere che c'hai ragione tu...
<CONSOLE>
	$ perl -e "print 'Gia`... ;)' if (!system 'perldoc -f \
	$ undef > /dev/null')";
</CONSOLE>
	Alla prossima,
		Marco

 "xritajbugne fahokem csuctawer jhdtlrnpqloevkshpr"}};
Curioso... la tua signature non mi funziona con Perl 5.004_3, ma funziona con
Perl 5.004_5.
Indaghero' :)


 Indaghero' :)
lascia stare, il concetto è sbagliato :-(
il sort così com'è è inutile, ma il japh funziona perché
i valori vengono tirati fuori in ordine alfabetico (sulle
chiavi), cosa che evidentemente non è sempre vera...
del resto perlfunc dice che i valori di un hash "are
returned in an apparently random order" ;-)
il nuovo japh, un po' meno bello ma che almeno funziona,
è alla fine di questo msg.
saluti :-)
__END__
# Aldo Calpini
%_ = split undef, join ' ', qw(fahokem
xritajbugne csuctawer jhdtlrnpqloevkshpr
); print map $_{$_}, sort keys %_;

 wrote:
:> __END__
:> # Aldo Calpini
:> print sort {$_{$a} cmp $_{$b}} values %{{split undef,
:> "xritajbugne fahokem csuctawer jhdtlrnpqloevkshpr"}};
: Curioso... la tua signature non mi funziona con Perl 5.004_3, ma funziona con
: Perl 5.004_5.
: Indaghero' :)
nanux:~>perl -e 'print sort {$_{$a} cmp $_{$b}} values %{{split
undef,"xritajbugne fahokem csuctawer jhdtlrnpqloevkshpr"}},"\n"'
just another perl hacker
nanux:~>perl -v
This is perl, version 5.005_03 built for i586-linux
-- 
Nando Santagata: Telemastica & infornatica
Key fingerprint = C2 D9 C0 8E D5 B7 04 97  AF E8 3F 3E AF 4E 7F 9E
finger nando (at) mail (dot) ipers (dot) net   for my PGP public key
Home: 
http://www.ipers.net/~nandos