Ecco il mio script Perl e la sua uscita:Perché Perl si lamenta "Uso inutile di una costante nel contesto vuoto", ma solo qualche volta?
use strict;
use warnings;
(undef, 1); # no output
(0, 1); # no output
(1, 1); # no output
(2, 1); # "Useless use of a constant in void context at C:\...\void.pl line 7"
(3, 1); # "Useless use of a constant in void context at C:\...\void.pl line 8"
("", 1); # "Useless use of a constant in void context at C:\...\void.pl line 9"
("0", 1); # "Useless use of a constant in void context at C:\...\void.pl line 10"
("1", 1); # "Useless use of a constant in void context at C:\...\void.pl line 11"
mi aspetterei avvertimenti a ogni linea. Qual è la particolarità di undef
, 0
e 1
che causa questo non accadere?
Stavo per dire anche questo. Sotto 'Uso inutile di% s nel contesto void' che' Questo avviso non verrà emesso per costanti numeriche uguali a 0 o 1' http://perldoc.perl.org/perldiag.html#Useless-use-of- % s-in-void-context – chilemagic
Bello scavare attraverso i documenti. Non spiega '(undef, 1)', però. (Sta buttando via "undef" considerato che non butta via nulla?) –
@Ted Hopp, ho aggiunto una spiegazione per "undef". – ikegami