URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2968
[ Назад ]

Исходное сообщение
"подпрограмма"

Отправлено Purple , 26-Май-04 10:47 
Как передать значение переменной подпрограмме в качестве аргумента?
$i=10;
&funstion($i);

function
{
my $i=@_;
print "$i=$i\n";
}

выводит $i=1;


Содержание

Сообщения в этом обсуждении
"подпрограмма"
Отправлено alchie , 26-Май-04 10:52 
>Как передать значение переменной подпрограмме в качестве аргумента?
>$i=10;
>&funstion($i);
>
>function
>{
>my $i=@_;

ты обращаешься к массиву в скалярном контексте, на что перл тебе честно возвращает количество его элементов - 1

нужно:
my $i=$_[0];
или
my $i=shift;


"подпрограмма"
Отправлено Purple , 26-Май-04 11:55 
>>Как передать значение переменной подпрограмме в качестве аргумента?
>>$i=10;
>>&funstion($i);
>>
>>function
>>{
>>my $i=@_;
>
>ты обращаешься к массиву в скалярном контексте, на что перл тебе честно
>возвращает количество его элементов - 1
>
>нужно:
>my $i=$_[0];
>или
>my $i=shift;
А если так:
my $i="@_";



"подпрограмма"
Отправлено alchie , 26-Май-04 12:37 
>>нужно:
>>my $i=$_[0];
>>или
>>my $i=shift;
>А если так:
>my $i="@_";

а если больше одного аргумента?