Filenamen zu Filehandle ermitteln
Filenamen zu Filehandle ermitteln
am 28.11.2006 09:59:50 von KWittrock
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
am 28.11.2006 11:01:00 von Frank Wiegand
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
am 28.11.2006 11:17:38 von Daniel Fischer
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
am 28.11.2006 12:14:50 von KWittrock
"Daniel Fischer" schrieb im Newsbeitrag
news:pan.2006.11.28.10.17.38.359574@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