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
KWittrock [ Di, 28 November 2006 09:59 ] [ ID #1550702 ]

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
Frank Wiegand [ Di, 28 November 2006 11:01 ] [ ID #1550704 ]

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
Daniel Fischer [ Di, 28 November 2006 11:17 ] [ ID #1550705 ]

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
KWittrock [ Di, 28 November 2006 12:14 ] [ ID #1550706 ]
Perl » de.comp.lang.perl.misc » Filenamen zu Filehandle ermitteln

Vorheriges Thema: Modul PDF::FDF::Simple
Nächstes Thema: Absender verbergen