要刷新,C和Perl中的条件运算符是:
(test) ? (if test was true) : (if test was false)
Run Code Online (Sandbox Code Playgroud)
如果与左值一起使用,您可以使用一个动作进行分配和测试:
my $x= $n==0 ? "n is 0" : "n is not 0";
Run Code Online (Sandbox Code Playgroud)
我正在阅读伊戈尔·奥斯特罗夫斯基(Igor Ostrovsky)的博客,以一种简洁的方式来表达基于C语言的多语句if语句,并且意识到这在Perl中确实是一种"巧妙的方式".
例如:(编辑:使用Jonathan Leffler更易读的形式......)
# ternary conditional form of if / elsif construct:
my $s=
$n == 0 ? "$n ain't squawt"
: $n == 1 ? "$n is not a lot"
: $n < 100 ? "$n is more than 1..."
: $n < 1000 ? "$n …Run Code Online (Sandbox Code Playgroud)