pl: Repository Objekte aus DB abspeichern

Beitrag lesen

Wenn ich in C# oder PHP einen try/catch Block mache und im try eine Funktion X gerufen wird, die eine Funktion Y ruft, die eine Funktion Z ruft wo eine Exception geworfen wird, dann kann ich das im catch fangen, ohne dass X und Y was von der Exception wissen müssen. Geht das in Perl auch?

# instanz der main
my $m = bless{};

# eine statische Variable
my $y = 0;
sub x{return shift}
sub y{$y++; return shift}
sub z{die "seufz"}

print eval{
    $m->x()->y()->z();
} || "$y $@";

1 seufz at .. wird ausgegeben, y() wurde also ausgeführt. $@ zeigt auf die Zeile wo sub z definiert ist, also wo die ex gefallen ist.

.