das ist keine harte referenz auf den handle, sondern ein glob... und das * brauchst du nicht wirklich
defined(fileno(FH)) muesste auch reichen; wenn dich die globs stoeren, dann schreib doch einfach:
my $fh;
unless (open ($fh, "<", $file)) {
warn "Fehler: $!\n";
}
else {
unless (defined(fileno($fh)) {
die "Fehler...\n";
}
} # else
aber ich sehe keinen sinn darin, den filehandle zu ueberpruefen, weil die Zahl, die da drinnensteht, was perl-internes ist, und du fehler darueber nicht mitbekommst... du bekommst darueber i.d.R. nur mit, wenn jemand den filehandle schliesst...
es hilft nur, beim open/print/close auf Fehler zu ueberpruefen...
siehe auch: perldoc -f fileno
Quote(Filehandles connected to memory objects via new features of
"open" may return undefined even though they are open.)
\n\n
<!--EDIT|Strat|1118321831-->