|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 26 Mar 2002 02:26:57 To : Dmitry Suhodoev Subject : Re: передача массива в ф-ю -------------------------------------------------------------------------------- "Dmitry Suhodoev" <Dmitry.Suhodoev@f428.n550.z2.fidonet.org> wrote in message news:1017078716@f428.n550.z2.ftn... > > как сделать сабж? вообще лучше пеpедавать указатель? как пеpедать указатель? Есть несколько способов сделать это. Вариант1, передача массива последним параметром: sub my_fprintf { my ($fh, $fmt, @args) = @_; printf $fh $fmt, @args; } my_fprintf(\*STDERR, "%s %s %s\n", @mystrerr); Вариант2, явная передача ссылки: sub my_push { my ($arr_ref, $value) = @_; $arr_ref->[$#{$arr_ref}+1] = $value; } my_push(\@array, 335); Вариант3, неявная передача ссылки с помощью описания прототипа: sub my_push(\@$) { my ($arr_ref, $value) = @_; $arr_ref->[$#{$arr_ref}+1] = $value; } my_push(@array, 335); Есть и еще варианты. Hо на первое время хватит, а от чтения документации все равно не избавит. Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65775889e6e8.html, оценка из 5, голосов 10
|