open(FH, ">a.txt") or die "Kann a.txt nicht öffnen, weil: $!";
oder eben
open(FH, ">a.txt") or test("Kann a.txt nicht öffnen, weil: $!");
sub test {
print $_[0];
exit;}
hi, aber eine die "die"-anweisung brauch ich nicht, weil durch die subroutine mir eine email zugeschickt wird, damit ich über den fehler benachrichtigt werde.
und dein zweiter vorschlag ist glaub auch nicht so gut, weil du rufst die subroutine auf und hast die "exit"-anweisung in der subroutine drin, und das sollte meines wissen nach nicht sein.