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を使って評価させることで
同じことができます。
|
|
|