Perl 是否可以在if的语句修饰符形式中包含多个语句?

Perl 是否可以在if的语句修饰符形式中包含多个语句?,perl,Perl,用欧拉项目自学Perl。不管怎样 print "Hei" if 1==1; 工作起来很有魅力 是否可以在if之前包含多个语句,就像这样 {print "4";print="2";} if 4!=2; 我知道特定的语法不起作用,但我认为我想做的是显而易见的。有没有可能 另外,我也知道我可以用普通的 if(){} 您可以将其包装在do块中: do {print 1; print 2; } if 1; do {print "4";print "2";} if 4!=2; 只需在其前面添加一个

用欧拉项目自学Perl。不管怎样

print "Hei" if 1==1;
工作起来很有魅力

是否可以在if之前包含多个语句,就像这样

{print "4";print="2";} if 4!=2;
我知道特定的语法不起作用,但我认为我想做的是显而易见的。有没有可能

另外,我也知道我可以用普通的

if(){}

您可以将其包装在
do
块中:

do {print 1; print 2; } if 1;
do {print "4";print "2";} if 4!=2;

只需在其前面添加一个
do

do {print "4";print="2";} if 4!=2;
请注意,我不建议在任何实际场景中使用这种代码。正常的

if (condition)
{
    code;
}
表单更为熟悉,更易于阅读和调试,并且具有缩进来指导读者了解控制流

1)如前所述,您可以使用
do
block:

do {print 1; print 2; } if 1;
do {print "4";print "2";} if 4!=2;
2) 可以像在C中一样使用逗号:

print("4"), print("2") if 4!=2;
注意在这种情况下,你必须用括号写

3) 我们知道print()返回“1”,所以:

当第一个命令返回true时,这将起作用

4) 使用二进制运算符:

print("4") | print("2") if 4!=2;
print("4") & print("2") if 4!=2;
print("4") ^ print("2") if 4!=2;
# etc
我认为这应该一直有效,但不是通常的方式

5) 使用“数组加密”

6) 连接

print("4") . print("2") if 4!=2;
7)
man perlop
并查找更多信息;)

*)以好人的身份写作:

if( 4!=2 ) {
   print("4");
   print("2");
}

谢谢似乎是一种简洁的语言。@TheUnfunCat整洁如有趣。。不像在“整洁”中那样整洁;-)