Bạn đang sử dụng barewords true
và false
. Từ trần là một điều xấu. Nếu bạn cố gắng này:
use strict;
use warnings;
if (true){print 1}
Bạn sẽ nhận được một cái gì đó như thế này:
Bareword "true" not allowed while "strict subs" in use at - line 3.
Execution of - aborted due to compilation errors.
Bất kỳ giá trị được xác định rằng không giống như 0 được coi là "true". Bất kỳ giá trị không xác định hoặc bất kỳ giá trị nào giống như 0 (chẳng hạn như 0
hoặc "0"
) được coi là "sai". Không có từ khóa được tích hợp cho các giá trị này. Bạn chỉ có thể sử dụng 0
và 1
(hoặc dính ở use constant { true => 1, false => 0};
nếu nó thực sự làm phiền bạn. :)
Nguồn
2011-08-04 04:38:41
hãy nhìn vào "người đàn ông perlsyn" hoặc http://perldoc.perl.org/perlsyn.html –