結局、デリファレンスとはなんなのか

my $hoge = "A";
my $ref_hoge = \$hoge;

print $hoge . "\n";
print $ref_hoge . "\n";
print ${$ref_hoge} . "\n";
print $$ref_hoge . "\n";

この出力をみて考えてみよう。

A
SCALAR(0x269eff8)
A
A

$hogeはAが入っている。$ref_hogeには$hogeのリファレンスが入っている。
リファレンスが入っている$ref_hogeをそのまま出力するとメモリ番地が出力される。

$$ref_hogeという記述はなにを意味しているのだろう。
それは、${$ref_hoge}の省略形だと考えることができる。
$ref_hogeの中身であるメモリ番地を変数としてアクセスする${}の中に記述すると、リファレンス先の$hogeの値が
とれるのである。