Perlの変数名を変数に格納してハッシュ的に使ってみる

Perlの変数名を変数に格納してハッシュ的に使ってみる

普通の変数をハッシュの様に使ってみる

変数…例えば、$name に値を代入する。
$name='abc';

この変数の内容を表示するには単純に
print $name;
とすればよいわけですが、この変数名 'name' を別の変数に格納して表示するには以下の様にする事も出来ます。

$name='abc';
$hensu='name';
print ${$hensu};

実行結果
abc

利用方法としては配列などに変数名を格納しておいて、splitした各変数を表示する時に使えるかな?

@hensu = ('id','name','tel');
$data='1,Taro,03-111-2222';
($id,$name,$tel) = split(/,/,$data);
foreach $h(@hensu){ print ${$h};}

当然こんな方法を使わなくても出来るのですが、利用方法を思いつかなかったので;
何かの時に使えるかもしれないのでメモ。