Problem mit DATA

29/04/2009 - 11:52 von helmut_blass | Report spam
Hallo NG,
habe ein .pm-Modul, an dessen Ende ich hiner dem __DATA__ -Token
konfigurationsdaten abgelegt habe. In einer der Routinen werden diese
mit while (<DATA>) ausgelesen.
Das Kuriose ist, das in einem Fall die Daten korrekt ausgelesen
werden, in einem anderen Fall aber überhaupt nichts gefunden wird!
In beiden Fàllen wird also die gleiche Routine aufgerufen (ohne
Parameter) und es sollte exakt die gleiche Verarbeitung stattfinden.
In dem Fall, wo die DATA-Daten nicht ausgelesen werden, findet aber
ansonsten eine korrekte Verarbeitung statt.
Kann es sein, dass __DATA__ nur für .pl - Skripte gedacht ist?
Wer weiss Rat?

Gruss, Helmut
 

Lesen sie die antworten

#1 Frank Seitz
30/04/2009 - 08:51 | Warnen spam
wrote:

habe ein .pm-Modul, an dessen Ende ich hiner dem __DATA__ -Token
konfigurationsdaten abgelegt habe. In einer der Routinen werden diese
mit while (<DATA>) ausgelesen.
Das Kuriose ist, das in einem Fall die Daten korrekt ausgelesen
werden, in einem anderen Fall aber überhaupt nichts gefunden wird!
In beiden Fàllen wird also die gleiche Routine aufgerufen (ohne
Parameter) und es sollte exakt die gleiche Verarbeitung stattfinden.
In dem Fall, wo die DATA-Daten nicht ausgelesen werden, findet aber
ansonsten eine korrekte Verarbeitung statt.
Kann es sein, dass __DATA__ nur für .pl - Skripte gedacht ist?



Nein, jede Perl-Datei kann einen __DATA__-Abschnitt haben. Dieser
ist allerdings an das Package gebunden. Wenn deine .pm-Datei
Package X vereinbart, musst du mit <X::DATA> lesen.
Weitere Infos siehe perldoc perldata.

Grüße
Frank Seitz
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Ähnliche fragen