Używasz gołe słowa true
i false
. Nagie słowa są złą rzeczą. Jeśli spróbujesz to:
use strict;
use warnings;
if (true){print 1}
Pewnie coś takiego:
Bareword "true" not allowed while "strict subs" in use at - line 3.
Execution of - aborted due to compilation errors.
Wszelkie zdefiniowaną wartość, która nie wygląda jak 0 jest uważane za „prawdziwe”. Każda niezdefiniowana wartość lub jakakolwiek wartość, która wygląda jak 0 (taka jak 0
lub "0"
), jest uznawana za "fałsz". Nie ma wbudowanego słowa kluczowego dla tych wartości. można po prostu użyć 0
i 1
(lub trzymać w use constant { true => 1, false => 0};
czy to naprawdę przeszkadza. :)
przyjrzeć się „człowiek perlsyn” lub http://perldoc.perl.org/perlsyn.html –