如何在Perl中使用else单行语句?

时间:2014-04-19 07:16:03

标签: perl if-statement

我是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语句。

提前致谢。

3 个答案:

答案 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. 如果条件为真,请执行某些操作

    如果是1,则打印“True”;

  2. 如果条件为假,请执行某些操作

    打印“假”除非1;

答案 2 :(得分:2)

if的后缀形式,如下所示:

print "blah" if $x==1;

被称为“语句修饰符”。可以在perlsyn中找到所有受支持的语句修饰符的列表。它是:

  • if EXPR
  • unless EXPR
  • while EXPR
  • until EXPR
  • for LIST
  • foreach LIST
  • when EXPR

请注意,elseelsif不在其中。这意味着如果你需要附加ifs的elsif或else子句,你需要使用缩写形式。