This is the "Class::Singleton" module. A Singleton describes an object
class that can have only one instance in any system. An example of a
Singleton might be a print spooler or system registry. This module
implements a Singleton class from which other classes can be derived. By
itself, the "Class::Singleton" module does very little other than manage
the instantiation of a single object. In deriving a class from
"Class::Singleton", your module will inherit the Singleton instantiation
method and can implement whatever specific functionality is required.
For a description and discussion of the Singleton class, see "Design
Patterns", Gamma et al, Addison-Wesley, 1995, ISBN 0-201-63361-2.
Author: Andy Wardley <email@example.com>