0
次のコードで、私はScheduleRequestWrite(中出力を期待してい行くルーチンに配列を渡す:5,10する)間違った
sub ProcessItem
{
my @writeVal = ("5,10");
foreach my $str (@writeVal)
{
print "\nProcessItem = $str\n";
}
ScheduleRequestWrite(\@writeVal);
}
sub ScheduleRequestWrite()
{
my @write_value = $_[0];
foreach my $str (@write_value)
{
print "\n$str\n";
}
}
ProcessItem();
しかし、私は取得しています:ARRAY < 0x2ccf8>
は可能性が誰を私の間違いを指摘してください。前もって感謝します!
配列ではなく配列参照を渡しています。 –
配列参照を渡しているので、 'ScheduleRequestWrite()'に '$ _ [0]'を参照する必要があります: 'my @write_value = @ $ _ [0]' –
@HåkonHægland間違っています。 '@ {$ _ [0]}'。逆参照を '$ _'と書いたものは、参照配列の0番目のインデックスのスライスを取得します。しかし、与えられた答えのように、変数に参照が含まれているほうがよい。 – ysth