Friday, August 20, 2010

Perl: обход прототипов при вызове функции

Для того, чтобы Perl не использовал прототип функции для проверки аргументов, достаточно добавить знак & перед вызовом функции: &NAME(LIST).
Пример:
my @a = 1..4;
sub test($$$$) {}

test($a[0], $a[1], $a[2], $a[3]); # OK
test(@a[0..3]); # Not enough arguments for main::test
&test(@a[0..3]); # OK

No comments:

Post a Comment