Я думаю, что неправильно понял некоторые аспекты передачи аргументов в функции Perl. Какая разница между func(\@array)
и func(@array)
?
AFAIK, в обеих функциях аргументы передаются по ссылке, и в обеих функциях мы можем изменить элементы @array
в основной программе. Так какая разница? Когда мы должны использовать, который?
@array = (1,2,3);
func(@array);
func(\@array);
sub func {
...
}
Также, как я могу имитировать pass-by-value в Perl? Использует ли @_
единственный способ?