hi!
Was ich also ungefähr suche, das ist entweder ein hash of filehandle (dann könnte ich alle
Ausgabedateien bei Bedarf dynamisch öffnen, parallel offen halten und über das Datum
adressieren) oder einen hash of pointer to file oder so was Ähnliches.
Mit Typeglobs kannst du von einem bereits existierenden Filehandle eine Variable erzeugen:
$filehandle = *FILEHANDLE;
print $filehandle "Hallo Filehandle!\n";
Typeglobs dienten ursprünglich dazu, Arrays und Hashes über eine Referenz an Funktionen zu übergeben (bevor es echte Referenzen gab).
Mit einer kleinen Funktion kannst du dir aus lokalen Filehandles Variablen erzeugen:
sub return_fh
{
my $filename = shift;
local *FH; # local, nicht my!
open FH, "<$filename" or return undef;
return *FH;
}
$handle = &return_fh("datei.txt");
Die so erzeugten Skalare solltest du dann auch problemlos in Hashes oder Arrays speichern können.
Eine weitere Möglichkeit, über die ich nichts genaueres schreiben möchte, sind die Module IO::File und IO::Handle, mit denen du Filehandles als Objekte anlegen und mit ihnen arbeiten kannst.
Mein Perl-Kochbuch nennt als Referenzen mit weiteren Informationen die open-Funktion in perlfunc(1) und in Kapitel 3 von "Programming Perl", die Dokumentation des FileHandle-Moduls (auch in Kapitel 7 von "Programming Perl") und "Typeglobs and Filehandles" aus Kapitel 2 von "Programming Perl".
bye, Frank!