1
サブルーチンに渡された配列を変更しようとしています。Perlでサブルーチンを使用して配列要素を変更する方法
配列参照をサブルーチンに渡して新しい値を割り当てていますが、呼び出し元側に反映されません。
以下は私のプログラムです。
sub receiveArray {
my $arrayref = @_;
@{$arrayref} = (4, 5, 6);
}
@ar = (1, 2, 3);
print "Values of the function before calling the function\n";
foreach my $var (@ar) {
print $var;
print "\n";
}
receiveArray(\@ar);
print "Values of the function after calling the function\n";
foreach my $var (@ar) {
print $var;
print "\n";
}
上記のコードの問題点は何ですか?
ありがとうございました。それはうまくいった。しかし、私はまだ私の$ arrayref = @ _とmy($ arrayref)= @ _の違いを理解することができません。違いを教えてください。ありがとう – Sunil
私はあなたにその違いを語った。どの部分が不明であるか説明できますか? – melpomene
$ arrayrefの前後に中かっこを置くと、配列コンテキストでどのように評価されるのか分かりません。 – Sunil