シンボリックリファレンス
シンボリックリファレンスとは、文字列によるリファレンスや文字列を変数名として解釈させることができる機能です。
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'とすれば、一時的にシンボリックリファレンスを許可します。