[Dresden-pm] File::Temp und lesender Zugriff
Martin Probst (RobHost Support)
support at robhost.de
Mo Sep 6 08:40:40 PDT 2010
Kaum macht man es richtig, funktioniert's auch :-D
Für alle die es interessiert, die Funktionen meiner Wahl:
seek() zum zurücksetzen des Filepointers auf Anfang
readline() um das doch etwas merkwürdige Konstrukt $temp_fh[0] nutzen zu können
Danke trotzdem :D
Am 06.09.2010 um 14:32 schrieb Martin Probst (RobHost Support):
> Hi Leute,
>
> hab mal wieder ein ziemlich merkwürdiges, mir nicht erklärbares Phänomen. Ich erstelle mir via File::Temp temporäre Dateien:
>
> <snip>
> my( $fh, $filename ) = tempfile( $template, DIR => $config{'temp_dir'}, UNLINK => $config{'unlink_temp_files'} );
> return( $fh, $filename );
> </snip>
>
> Diese nutze ich zuerst schreibend für, wer hätte es gedacht, temporäre Ausgaben:
>
> <snip>
> my @temp_fh = mktemp_file( "$config{'self'}.$config{'pid'}.$bin.temp.XXXXX" );
> [...]
> print { $temp_fh[0] } ( join( " ", @data ) );
> </snipt>
>
> Das funktioniert auch prima, die Daten stehen danach wie gewünscht in der Datei. Das Problem ist nur, das ich nich lesend auf die Datei zugreifen kann. Wenn ich z.B. via
>
> my $line = <$temp_fh[0]>;
> print $line;
>
> auf die Daten in der Datei zugreifen möchte, bekomme ich immer nur ein GLOB* Objekt zurück geliefert.
> Auch die dazugehörigen IO::Handle Funktionen getline(s) liefern mir keine werte zurück. In der perldoc von File::Temp steht jetzt aber auch nichts explizites über lesenden Zugriff außer das gewöhnliche <$fh>.
>
> Sehe ich den Wald vor lauter Bäumen nicht?
>
> MfG
> Maddin
>
>
>
> _______________________________________________
> Dresden-pm mailing list
> Dresden-pm at pm.org
> http://mail.pm.org/mailman/listinfo/dresden-pm
Mehr Informationen über die Mailingliste Dresden-pm