Class::Singleton は、べつにいらない。
Class::Singleton は、やたらコメントがながいのでだまされがちだが、実は以下のコードで同等のことができるので、あれを利用する意味は「シングルトンってわかりやすい!」ってこと以外にはなかったりする。
package MySingletonThing;
my $instance = shift;
sub instance {
$instance //= do {
my $class = shift;
my %args = @_==1 ? %{$_[0]} : @_;
bless {%args}, $class;
};
}
Published: 2011-02-27(Sun) 05:20