sub new { ref (my $class = shift) && croak 'class name needed in constructor'; my $self = {@_}; $self->{$_} = $self->{$_} || '' for(qw/db user pass/); bless $self, $class; $self->connect(); $self; } sub connect { my $self = shift; my $dbh = DBI->connect("dbi:mysql:$self->{'db'}", $self->{'user'}, $self->{'pass'}) || croak "DB-error: $DBI::errstr\n"; $self->{'db_handle'} = $dbh; }