【发布时间】:2014-10-01 18:30:09
【问题描述】:
ss1.我是 Perl 新手,我有一个简单的问题。我有一个 if else 语句。
if ( $response->is_success ) {
do something;
} else {
my @vals = foo();
sub foo {
return
"Total closed cases:0",
"Total pending cases:0",
"Total resolved cases:0",
"Total assigned cases:0";
}
}
我知道不可能给出一个以上的返回语句,但响应包含所有 4 个案例计数的计数。因此,如果它没有找到 4 个案例计数中的任何一个,它应该说 eg.total closed case: 0" 或解决的案例总数:0 等等。所以这就是为什么要给出 return 语句。我如何在一个 return 语句中给出所有 4 个语句,或者我是否应该再次使用 else if 来获得我的结果。(我试过了,它抛出错误)。非常感谢任何帮助。
谢谢
【问题讨论】:
-
另一件要考虑的事情,我注意到您在
if/else语句中声明了一个子例程。在 Perl 中,即使您在if语句或另一个子例程中声明了一个子例程,它在定义它的if语句或子例程之外仍然可见。这可能会导致不可预测的结果,因此不鼓励这样做。词法作用域的子程序在 Perl 中仍处于试验阶段:perldoc.perl.org/perlsub.html#Lexical-Subroutines
标签: perl return-value