Thread Datei Handle einer funktion übergeben (2 answers)
Opened by mr-sansibar at 2006-06-16 12:24

Dubu
 2006-06-16 12:44
#8038 #8038
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Du könntest den Typeglob *OUT übergeben (direkt oder per Referenz), aber seit Perl 5.6 ist es möglich und auch empfohlen, direkt mit Filehandle-Referenzen zu arbeiten:
Code: (dl )
1
2
3
4
5
open (my $out, '>', $write_file) or die "Kann $write_file nicht erzeugen: $!";
foreach (@ARGV) {
   @array_result = work_with_file ($_, $out);
}
close $out;


Alternativ kannst du eines der Standard-Module FileHandle oder IO::File benutzen, um mit Filehandle-Objekten zu arbeiten.


Übrigens: Wenn man etwas mit allen Dateien machen möchte, die auf der Kommandozeile übergeben wurden, dann kann man sich oft das iterieren über @ARGV sparen und stattdessen einfach den magischen Diamantoperator "<>" nutzen; der liest alle Zeilen aus allen angegebenen Dateien nacheinander ein.

View full thread Datei Handle einer funktion übergeben