Filenamen zu Filehandle ermitteln
Hallo,
ich habe eine Subroutine, die einen Filenamen ermittelt und die Datei
öffnet. Wenn ich später Probleme mit den Daten habe, möchte ich in der
Fehlermeldung den Filenamen mit ausgeben. Da ich globale Variable möglichst
vermeide, könnte ich einen Getter schreiben, der mir den Filenamen liefert.
Aber vielleicht gibt es in Perl auch eine generelle Möglichkeit, den zu
einem Filehandle gehörigen Filenamen zu bekommen (falls die Datei einen
Namen hat).
Weiß jemand etwas darüber?
Gruß
Klaus
Re: Filenamen zu Filehandle ermitteln
K. Wittrock schrieb:
> Filenamen liefert. Aber vielleicht gibt es in Perl auch eine generelle
> Möglichkeit, den zu einem Filehandle gehörigen Filenamen zu bekommen
> (falls die Datei einen Namen hat).
> Weiß jemand etwas darüber?
Idee: Benötigt Linux.
print readlink "/proc/$$/fd/" . fileno($fh);
Frank
Re: Filenamen zu Filehandle ermitteln
Frank Wiegand!
> Idee: Benötigt Linux.
Also, wenn wir hier schon mit schmutzigen Tricks anfangen...
open $FH, "<", $fn and bless $FH, $fn or die;
...
# mach kram hier
...
print STDERR "Fehler in " . (ref $FH) . "!\n";
Gruß
Daniel
Re: Filenamen zu Filehandle ermitteln
"Daniel Fischer" <spam [at] erinye.com> schrieb im Newsbeitrag
news:pan.2006.11.28.10.17.38.359574 [at] df.erinye.com...
> Frank Wiegand!
>
>> Idee: Benötigt Linux.
Schade, habe WinXP.
>
> Also, wenn wir hier schon mit schmutzigen Tricks anfangen...
>
> open $FH, "<", $fn and bless $FH, $fn or die;
> ...
> # mach kram hier
> ...
> print STDERR "Fehler in " . (ref $FH) . "!\n";
>
Prima, probiere ich gleich mal aus.
Klaus