$\ = "\n";
sub foo
{
print("one");
}
foo(); // mark1
sub foo
{
print("two");
}
foo(); //mark2
При выполнении вышеуказанного кода ваш выход будет: два, два. Насколько я понимаю, Perl является интерпретатором, поэтому, когда вызывается foo (mark1), не следует сначала печатать, а когда вызывается foo() (mark2), два должны быть напечатаны. Но почему два печатаются как раз, и, пожалуйста, объясните, как это сделать?Perl Функциональный вызов
Вы уверены, что вы не компилируете его? – Carcigenicate
'//' не являются комментариями в Perl. Вы должны использовать символ '#' для обозначения комментария. – simbabque
Настоятельно рекомендуется всегда добавлять 'use warnings' и' use strict' в начало каждого файла Perl 5, пока вы точно не узнаете, почему это рекомендуется. –