Sollte funktionieren. Es muss was anders falsch sein.
wenn ich in der Methode test_1 direkt über der prepare ein
$self->{db} = DBI->connect($dsn, $user, $password) || die "can't connect, errmsg = $DBI::errstr";
einfüge, kommt die Fehlermeldung nicht mehr.
Das ist klar, erklärt aber immer noch nicht warum du die Meldung in deinem ersten Beispiel bekommst, da es so funktionieren muss wie du es ursprünglich geplant hast.
Struppi.