デザインパターン Singleton 補足

調べていたらこんなやり方を発見した

package Name;
    my $singleton;
    BEGIN {
        $singleton = {
            attribute => 'value',
            another   => 'something',
        };
        bless $singleton, "Name";
    }

    sub new {
        my $class = shift;
        return $singleton;
    }

BEGINブロック内でオブジェクト生成を処理して、スタティック変数にぶちこんどく。コンストラクタ(の名前をもつメソッド)はそのスタティック変数を返すだけ。ifを使わないから読みやすいといえば読みやすい。

http://www.perl.com/pub/a/2003/06/13/design1.html?page=2

いろんなやり方がある、Perlさん。