Assoziative Array - Liste splitten
Hallo zusammen,
ich habe eine Endlosliste in einem Textfile.
Beispiel siehe unten.
Jede Seite beginnt mit einer Kopfzeile die
die Listenart und den Verkäufer benennt.
Ein Verkäufer kann mehrere Seiten - demnach
mehrere gleiche Kopfzeilen haben.
Mein Ziel ist es nun die Liste pro Verkäufer
zu splitten und in eine eigene Datei auszugeben. zb. 101121list.txt ....usw.
Meine Idee war: aus Kopfzeile Listenart und Verkäufernummer auslesen, die nächsten Zeilen
dann in eine Liste schreiben bis der nächste Verkäufer dran ist. Dann dies Liste einm asoz.Array zuweisen:
%EinezelListe=($Verk=>@Inhalt);
Hat da jemand eine Idee ?
**##**LISTE=Umsatz LD=10 AN=101121 **##**
10 24. 4 artikel 4 23.40 geliefert
10 21. 4 artikel 3 55.40 offen
07 24. 4 artikel 4 23.10
11 24. 4 artikel 4 23.10 gedruckt
....
**##**LISTE=Umsatz LD=10 AN=101121 **##**
10 24. 4 artikel 4 23.40 geliefert
10 21. 4 artikel 3 55.40 offen
10 24. 4 artikel 4 23.10
...
**##**LISTE=Umsatz LD=10 AN=101122 **##**
10 24. 4 artikel 4 23.40 geliefert
10 21. 4 artikel 3 55.40 offen
10 24. 4 artikel 4 23.10
10 24. 4 artikel 4 23.10 verrechnet
....
open (INFILE, "$InFile") or die "\n\nKann $InFile nicht oeffnen !! ";
while (<INFILE>){
$therec=$_; chomp ($therec);
if ($isset==1) {
%Liste=($Verk=>@Inhalt);
@Inhalt=""; $isset=0;
}
if ((substr($therec,0,6))eq'**##**') {
@REC=split (/ /,$therec);
@dummy=split (/=/,$REC[0]);
$ListenArt=$dummy[1];
@dummy=split (/=/,$REC[2]);
$Verk=$dummy[1] ;$isset=0
next;
}
push @Inhalt ,$therec."\n";
}
__________________
--------------------------------------------------------------------------
Gone are the days when you could say "Those were the days."
--------------------------------------------------------------------------
|