use strict;
my $singleton;
sub singleton {
my $class = shift;
if (! defined $singleton) {
$singleton = $class->new(@_);
}
return $singleton;
}
sub new {
shift; # class
my @classes = qw(
UUID::Generator::PurePerl::RNG::MRMT
UUID::Generator::PurePerl::RNG::MRMTPP
UUID::Generator::PurePerl::RNG::rand
);
foreach my $class (@classes) {
next if ! eval qq{ require $class };
next if ! $class->enabled;
return $class->new();
}
return;
}
1;
__END__
=head1 NAME
UUID::Generator::PurePerl::RNG - Random Number Generator
=head1 DESCRIPTION
UUID::Generator::PurePerl::RNG is Random Number Generator.
INTERNAL USE ONLY.
=head1 AUTHOR
ITO Nobuaki E<lt>banb@cpan.orgE<gt>
=head1 LICENSE
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=head1 SEE ALSO
=cut