[▲前のスレッド]

[10] 変数の内容を名前とする変数を定義 
2000/8/14 (Mon) 16:56:08 - あけび
何を言っているのかよく分からないかも知れませんが、
たとえばこういうことです。

$a = "b";
$$a = "c";

まず、1行目では変数 $a に文字列 b を代入しています。
2行目では $$a のうちの $a 部分がまず評価され、
結果的には
$b = "c";
としたのと同じことになります。

この方法は、変数の内容に応じて
定義する変数名を振り分けたい場合などに利用できます。
連想配列を使っても同様のことを高速に処理できますが、
内部にハッシュ表を持ち、かなりのメモリを消費しますので、
場合に応じて使い分けるといいかもしれません。

この方法はPerl5以降でないと使用できませんが、Perl4では
$$a = "c";

eval("\$$a = \"c\";");
のように、evalを使って評価させることで
同じことができます。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.84.01