8
Perlサブルーチンの場合、0引数を渡すと、4つのフォームを使用して呼び出すことができます。しかし、1つの以上の引数を渡し、私が使用することはできません一つの形態がある場合には、下記を参照してください。なぜ `&name arg1 arg2 ...`という構文を使ってPerlサブルーチンを呼び出せないのですか?
sub name
{
print "hello\n";
}
# 4 forms to call
name;
&name;
name();
&name();
sub aname
{
print "@_\n";
}
aname "arg1", "arg2";
#&aname "arg1", "arg2"; # syntax error
aname("arg1", "arg2");
&aname("arg1", "arg2");
エラー出力が
String found where operator expected at tmp1.pl line 16, near "&aname "arg1""
(Missing operator before "arg1"?)
syntax error at tmp1.pl line 16, near "&aname "arg1""
Execution of tmp1.pl aborted due to compilation errors.
誰かがコンパイラのからのエラー出力を説明できています視点?なぜ私は演算子が不足していることについて不平を言うのか分からない。
おかげ
あなたはすばらしい答えを得ています。このために '&'の使用についてさらに議論するには、['this post'](http://stackoverflow.com/questions/1347396/when-should-i-use-the-to-call-a- perl-subroutine)と['this post'](' 'post'')(http://stackoverflow.com/questions/8912049/difference-between-function-and-function-in-perl) //stackoverflow.com/questions/6706882/using-ampersands-and-parens-when-calling-a-perl-sub)...おそらく他のものがあります。 – zdim
@zdimちょっと疑問に思うのですが、どうしてリンクをコードマークアップに入れましたか? – simbabque
@simbabqueハ、良い点。彼らがより目に見えるように、強調されていると思います。本当に知りません。決して実際にはそれを "コードマークアップ"(あなたが正しい、それです)として考えたことはありません。 – zdim