Thread pm-Modul: DATA-Teil und 1; inkompatibel? (15 answers)
Opened by RalphFFM at 2008-01-09 11:08

RalphFFM
 2008-01-09 20:37
#104554 #104554
User since
2006-11-16
258 Artikel
BenutzerIn
[Homepage] [default_avatar]
Habe den Fehler gefunden, es lag an etwas anderem. Hier der Kern des Problems:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
while (<DATA>){
print "erster Durchlauf: $_";
}
seek (DATA,0,0);
while (<DATA>){
print "zweiter Durchlauf: $_";
}

__DATA__
1
2
3
4
5

Ich hatte angenommen, daß mein seek-Befehl an den Anfang des DATA-Blocks zurückspringt. Tja, den Gefallen tut er mir leider nicht, stattdessen springt er an den Dateianfang:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ralph@erde:/tmp$ ./test.pl
erster Durchlauf: 1
erster Durchlauf: 2
erster Durchlauf: 3
erster Durchlauf: 4
erster Durchlauf: 5
erster Durchlauf:
zweiter Durchlauf: #!/usr/bin/perl
zweiter Durchlauf: while (<DATA>){
zweiter Durchlauf: print "erster Durchlauf: $_";
zweiter Durchlauf: }
zweiter Durchlauf: seek (DATA,0,0);
zweiter Durchlauf: while (<DATA>){
zweiter Durchlauf: print "zweiter Durchlauf: $_";
zweiter Durchlauf: }
zweiter Durchlauf:
zweiter Durchlauf: __DATA__
zweiter Durchlauf: 1
zweiter Durchlauf: 2
zweiter Durchlauf: 3
zweiter Durchlauf: 4
zweiter Durchlauf: 5
zweiter Durchlauf:


Mist! Da die 5 DATA-Zeilen hier im Muster in Realität knapp 9000 Zeilen und 800 KB groß sind, wollte ich das nicht alles in ein Array oder Hash nehmen. Hat wer von Euch hierzu eine Idee?

View full thread pm-Modul: DATA-Teil und 1; inkompatibel?