Perl Anfänger: DBI an Package übergeben

Beitrag lesen

06 sub new {
07  my $self=shift;
08  my $dbh=shift;
09  my $ref={};
10  $ref->{sessionLength}=48;
11  $ref->{dbh}=$dbh;
12  bless($ref, $self);
13  $ref;
14 }

Das geht auch einfacher:

sub new {

my $proto = shift;
return bless {
dbh => (shift || die "bla"),
sessionLength => 48
}, ref $proto || $proto ;
}


>   
> Das ref ist wichtig, falls das Objekt mal weiter vererbt werden sollte  
  
damit erhalte ich aber die selbe Fehlermeldung :-\  
  
  

> > mit use strict;  
> > > Can't use string ("abc") as a HASH ref while "strict refs" in use at /x/y/z/abc.pm line 52.  
>   
> Du machst irgendwas falsch bei dem Aufruf, was steht in Zeile 52?  
  
52  $sth = $self->{db}->prepare('SELECT \* FROM sessions') || die "cannot prepare query, errmsg = $DBI::errstr";  
  
Danke!