#!/usr/bin/perl use strict; use warnings; # コピー元の配列作成 my @a = ("One", "Two", "Three", "123"); # コピー先の配列 my @b = (); foreach my $val (@a) { push @b, $val; $val = "Change"; } print @b, "\n"; print @a, "\n";
これ実行結果は、
OneTwoThree123
ChangeChangeChangeChange
となるのですが、なんかこれちょっと不思議な感じがする。個人的に。
$valに代入してるつもりが、@aの要素にも代入されてるのが気持ち悪いのかな?
うっかり元配列まで変更しないように気をつけないといけませんね。
0 件のコメント:
コメントを投稿