[ トップ | 一覧 | 更新履歴 ]

PerlGlob

PerlCGI | PerlVariable

型グロブ

perl5では使う必要ない。

以前は参照が使えなかったため、その代替で型グロブを使うことがあった。

同一変数名ごとに各変数種類のテーブルを持っている。

     $varname = 'sample';
     @varname = (0,1,2,3,4);
     %varname = (key1=>'key0001',key2=>'key0002');
     (*varname);
     print $valname; # sampleappend

    sub func
    {
        local *alias = shift; # myでは型グロブを宣言できなかったと記憶してます
        $alias .= 'append';
        push @alias, 5;
        $alias{key3} = 'key0003';
    }

通常、$,@,%のどれか1個だけを1個の型グロブに対応付けて引数とするでしょうが、 関係ない同名変数まで渡すことも含めて説明できるよう、サンプルを書きました。

perl4の頃は、どうしても参照渡しのようなことをやらなければならないとき に型グロブで渡していました。

仕様も分かりにくし、perl4の資産を使いたいために残された型だと思っていいでしょう。


GzuGzu (WikiWikiWeb clone) ver 1.00 pre2
このページはGzuGzuで作成されました.
yaino.com