для подпрограммы Perl, если передать аргумент 0, я могу использовать 4 формы для ее вызова. Но при передаче 1 или более аргументов есть одна форма, которую я не могу использовать, см. Ниже:
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
иthis post
иthis post
... и, вероятно, есть и другие. - person zdim   schedule 21.09.2016