package Book::DBIHandle; use strict; use warnings; use DBI; use Class::Singleton; @Book::DBIHandle::ISA = qw(Class::Singleton); sub _new_instance { my($class, $args) = @_; my $self = DBI->connect($args->{dsn}, $args->{user}, $args->{passwd}, $args->{options}) or die "Cannot connect to database: $DBI::errstr";