【发布时间】:2013-05-03 17:13:12
【问题描述】:
我刚刚在我的 Ubuntu 上发现 Perl 并没有抱怨最后的分号。检查以下代码:
#!/usr/bin/perl
use warnings;
use strict;
my @array = (1, 2, 3, 4);
foreach (@array)
{
print $_."\n"
}
print "no, this cant be true"
请注意分号“;”打印语句中缺少。代码仍然运行良好。
输出:
1
2
3
4
no, this cant be true
如果我在打印后加上分号,它仍然有效。所以这让我很困惑。
您能否帮助我了解我在这里遗漏了什么,或者是否有一些明显的 Perl 意识形态被我忽略了?
【问题讨论】:
-
它也不会抱怨“额外的”分号。 “额外”和“缺失”逗号也是如此。
-
这在单行 eval 块中实际上非常方便。考虑说“eval {$some->method};”诗句说“eval {$some->method;};”。