sub foo($$$$) { }
Так хочется вместо, например,
foo(1, $foo{1}, $foo{3}, $foo{5});
Написать
foo(1, @foo{qw(1 3 5)});
Но нельзя, так как Perl ругается, что недостаточно аргументов. :-(
Заметки программиста, в основном, о perl. Название блога происходит от трех главных добродетелей программиста: Лень, Нетерпение и Высокомерие. К некоторым статьям следует относиться с определенной долей юмора. Содержание.
2 комментария:
С этим в 6-ку. Примерно так:
sub foo($a, $b, $c) { ... }
foo(|@a<1 3 5>);
:)
This is one reason why prototypes are bad. But if you can't avoid them you can do this:
&foo(1, @foo{qw(1 3 5)})
The & disables prototypes!
Отправить комментарий