Perl:当块结束时添加分号(;)

时间:2014-07-17 11:47:12

标签: perl block

这个问题可能听起来很愚蠢,但对我来说,100%确定我做对了,对我来说很重要,所以我决定在这里问这个问题。

我在其他人的代码 if 语句中遇到过,他们的块以分号(;)结尾。

我猜这些分号没有效果,但我想完全确定它。

你能告诉我吗?以下代码片段之间有什么区别吗?

用分号:

if ($var) {
    print "hi\n";
};

没有分号:

if ($var) {
    print "hi\n";
}

谢谢!

2 个答案:

答案 0 :(得分:3)

如果没有else块,它们完全等效。使用else块时,不允许使用分号。

答案 1 :(得分:2)

if ($var) { print "hi\n"; };

if ($var) { print "hi\n" }

作为

print "hi\n";;

print "hi\n";

你有两个陈述,后者是空的。空语句什么都不做。

$ perl -e'print "hi\n";;;;;;;;;;;;;'
hi