Thread Zeiger in einer Datei, um da die Zeilen aus der 2. Datei zu schreiben (6 answers)
Opened by alla at 2010-05-26 18:36

alla
 2010-05-26 18:36
#137631 #137631
User since
2009-10-19
21 Artikel
BenutzerIn
[default_avatar]
Hallo liebe Perl-Community,

ich schreibe ein Script, welches 2 Dateien zusammenführt und zwar:
1. Die eine Datei enthält Blöcke:
Block 1:
bla
bla
______________
Block 2:
bla
etc.
______________
2. Die andere Datei ist eine XML-Datei, die durch die erste Datei erweitern werden soll. Und zwar sollen die letzten 3 Zeilen vor ______________ aus der 1. Datei am Ende eines XML-Elements eingefügt werden. z.B.
1. Datei:
Block 1:
perl1
perl2
perl3

______________
2. Datei
<find-spot id="12" nr="8" lnr="21" >
<token1>bla</token1>
<token2>blu</token2>
<environment>blub</environment>
-->hier soll der block aus Datei 1 kommen<--
<environment>perl1</environment>
<environment>perl2</environment>
<environment>perl3</environment>
</find-spot>
<find-spot...


Das ganze soll in einer Schleife verlaufen, so dass in der 2. Datei an mehrere <find-spot></find-spot> die Blöcke aus der 1. Datei hinzugefügt werden. Ich kann aus der 1. Datei die einzelne Blöcke einlesen:
Code: (dl )
1
2
3
4
5
6
7
8
while (my $line2 = <FILE2>) {
if ($line2 =~ m/(?=Block \d+: .*)/ .. $line2 =~ m/______________/){
push (my @text, $line2);
foreach $text(@text) {
$text =~s/Block \d+: .*//;
$text =~s/\n//;
}
}


Wie verbinde ich in einer Schleife 2 Dateien, so dass ich erst in einer einen Zeiger setze, z.B. auf </find-spot> und davor die 3 Zeilen aus dem Block aus der 2. Datei schreibe?

Danke schon mal!

Gruß
Alla

View full thread Zeiger in einer Datei, um da die Zeilen aus der 2. Datei zu schreiben