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";
}
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";
}