リストのリファレンス

以下を書いたらすごくよくわかった。

#!/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

リファレンスの場合はメモリのアドレスを参照してるから値が変わる。