3

サブルーチンがあります: calcPercentage. このサブルーチンによって返された値を出力したいと思います。

次のように、これを 1 行で実行できますか。

print "Result is: $calcPercentage($a,$b)"
4

4 に答える 4

9

もちろん:print "Result is: ", calcPercentage($a, $b), "\n";

于 2012-08-27T09:56:33.253 に答える
3

printこれを行う最善の方法は、他の回答が言うように、関数呼び出しを引数の 1 つとして渡すことです。

しかし、何らかの理由で、"foo $bar"変数名を展開するように、関数呼び出しの結果を文字列リテラル内で展開したい場合は、実際には (かなり醜い) 方法があります。

print "Result is: @{[calcPercentage($a,$b)]}";

この質問を参照してください。

繰り返しますが、これは単に を使用している場合は特に役に立ちません。それ自体が引数を連結するprintためです。print使用していない場合でもprint、引数を自分で連結する方がおそらく良いでしょう:

$s = "Result is: " . calcPercentage($a, $b);
于 2012-08-27T10:13:16.003 に答える
0

私は時々これを使用して行いますprintf

printf "Result is: %.2f\n", calcPercentage($a, $b)

文体上の注意とは関係なく、perl での通常の命名規則はunder_scoresではなくcamelCase$aおよび$bは予約済みの変数名です。通常、例では無料で使用する方が適切$xです$y

于 2012-08-28T15:51:59.540 に答える
-1
> cat hello.pl
#!/usr/bin/perl

sub hello_p
{

return "hello"
}

print "return value is ",hello_p,"\n";

実行は以下です。

> perl hello.pl
return value is hello
于 2012-08-27T10:00:37.213 に答える