以下を書いたらすごくよくわかった。
#!/usr/bin/perl my $reflist = [1,2,3]; my $reflist2 = $reflist; $reflist2->[0] = 0; print($reflist->[0]);#0 print('\n'); my @list = (1,2,3); my @list2 = @list; $list2[0] = 0; print($list[0]);#1
リファレンスの場合はメモリのアドレスを参照してるから値が変わる。
以下を書いたらすごくよくわかった。
#!/usr/bin/perl my $reflist = [1,2,3]; my $reflist2 = $reflist; $reflist2->[0] = 0; print($reflist->[0]);#0 print('\n'); my @list = (1,2,3); my @list2 = @list; $list2[0] = 0; print($list[0]);#1
リファレンスの場合はメモリのアドレスを参照してるから値が変わる。