Thread Filehandler über Array?! (8 answers)
Opened by rucksl at 2006-07-25 20:52

sid burn
 2006-07-26 00:46
#68395 #68395
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Naja im Grunde genommen lief mein Code so wie du es zuletzt geschrieben hast, nur habe ich ein map anstatt eine for Schleife genommen, du kannst das map aber auch wieder in einer for Schleife umwandeln.

Code: (dl )
1
2
3
4
5
6
7
8
9
use IO::File;

my @files;
map {push @files, IO::File->new("$_")} qw/foo.txt bar.txt/;

for my $file (@files) {
my $line = <$file>;
print "Das ist $line.\n";
}

Gibt dann von jeder Datei die erste Zeile aus. Oder du benutzt ganz die OOP Schreibweise.

Code: (dl )
1
2
3
for my $file (@files) {
$line = $file->getline;
}


Bei der OOP Schreibweise wie ich gerade sehe kannst du es auch so schreiben:

Code: (dl )
my $line = $files[0]->getline;

Gibt dann die erste Zeile aus der ersten Datei wieder.


IO::File erbt von IO::Handle und IO::Seekable, daher du kannst auch die Methoden benutzen die dort stehen.

http://perldoc.perl.org/IO/File.html
http://perldoc.perl.org/IO/Handle.html
http://perldoc.perl.org/IO/Seekable.html\n\n

<!--EDIT|sid burn|1153860469-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Filehandler über Array?!