シンボリックリファレンス

シンボリックリファレンスとは、文字列によるリファレンスや文字列を変数名として解釈させることができる機能です。
use strictもしくはuse strict 'refs'すれば、シンボリックリファレンスの利用は禁止されるので、使うことはあまりないです。

#!/usr/bin/perl

###
@fruit = ("apple","orange");
print $fruit[0], "\n";

$refFruit = \@fruit;
print $refFruit->[0], "\n";

$refFruit = 'fruit';   #単なる文字列代入ではなく、同名変数のリファレンスと解釈されるらしい
print $refFruit->[0], "\n";


###
$val = "symbolic";
${"$val"} = 1;   #「$symbolic = 1」と同じ
print $symbolic, "\n";
print $$val, "\n";   #シンボリックリファレンスのデリファレンス

で、実行結果。

apple
apple
apple
1
1

no strict 'refs'とすれば、一時的にシンボリックリファレンスを許可します。