Se están utilizando barewords true
y false
. Las palabras descarnadas son una mala cosa. Si intenta esto:
use strict;
use warnings;
if (true){print 1}
Probablemente obtendrá algo como esto:
Bareword "true" not allowed while "strict subs" in use at - line 3.
Execution of - aborted due to compilation errors.
Cualquier valor definido que no se parece a 0 se considera "verdadera". Cualquier valor indefinido o cualquier valor que se parece a 0 (como 0
o "0"
) se considera "falso". No hay una palabra clave incorporada para estos valores. Usted sólo puede usar 0
y 1
(o un palo en use constant { true => 1, false => 0};
si realmente te molesta. :)
echar un vistazo a "hombre perlsyn" o http://perldoc.perl.org/perlsyn.html –