Rende indefinito il valore di ESPR, che deve essere un lvalue [un valore che può
trovarsi a sinistra di un operatore di assegnamento, NdT]. Si usa solo su un valore
scalare, un array (utilizzando @), un hash (utilizzando %), una subrotuine
(utilizzando &), oppure un typeglob (utilizzando *). (undef $hash{$chiave}
probabilmente non farà ciò che ci si aspetta su molte variabili
predefinite o valori di liste DBM, dunque non fatelo; si veda delete).
Restituisce sempre il valore indefinito. Potete omettere l'ESPR, in tal caso non
viene reso indefinito niente, ma otterrete ancora un valore indefinito che si potreste,
per esempio, restituire da una subroutine, assegnare ad una variabile o passare come
parametro. Esempi:
undef $pippo;
undef $pluto{'nomeassurdo'}; # Confrontate con: delete $pippo{'nomeassurdo'};
undef @ary;
undef %hash;
undef &miasub;
undef *xyz; # distrugge $xyz, @xyz, %xyz, &xyz, ecc.
return (wantarray ? (undef, $msgerr) : undef) if $lo_hanno_saltato;
select undef, undef, undef, 0.25;
($a, $b, undef, $c) = &pippo; # Ignora il terzo valore restituito
Va notato che questo è un operatore unario, non un operatore di lista.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!