我是Perl的初学者,我试图阅读if ... else语句。 我用花括号尝试了if..else语句。
if ( 1 ) {
print "True\n"; }
else {
print "False\n" ; }
它工作正常,然后我在网上搜索如何使用单行if语句而不使用花括号,它们提供了相同的代码。
print "True\n" if (1 ) ;
我尝试将else语句与该示例代码一起使用
print "false\n" else ;
但是我收到了错误消息。任何人都可以解释如何在perl中使用带有if语句的单行else语句。
提前致谢。
答案 0 :(得分:5)
使用Ternary or conditional operator
:
print 1 ? "True\n" : "false\n";
<强>更新强>
以下是将其全部放在一行的另一种方法:
if ( 1 ) { print "True\n"; } else { print "False\n" ; }
答案 1 :(得分:4)
我认为你要找的是unless
:
如果条件为真,请执行某些操作
如果是1,则打印“True”;
如果条件为假,请执行某些操作
打印“假”除非1;
答案 2 :(得分:2)
if的后缀形式,如下所示:
print "blah" if $x==1;
被称为“语句修饰符”。可以在perlsyn中找到所有受支持的语句修饰符的列表。它是:
if EXPR
unless EXPR
while EXPR
until EXPR
for LIST
foreach LIST
when EXPR
请注意,else
和elsif
不在其中。这意味着如果你需要附加ifs的elsif或else子句,你需要使用缩写形式。