Hallo,
[quote=Guest,25.04.2006, 09:09]Hat mir jemand eine gute Idee?[/quote]
ob die Idee gut ist, musst du selbst bestimmen...
Wenn die Textbausteine, die gesucht und ersetzt werden
sollen, die gleiche Zeichenlänge haben, dann kannst du eine
Datei direkt editieren. Mit tell (Position merken) und seek (zur
Position springen) kannst du Zeichen ab einer bestimmten
Position verarbeiten + bearbeiten.
Wenn die Zeichenlänge allerdings unterschiedlich ist, dann
wird dir wahrscheinlich nichts anderes übrig bleiben, als Datei A
auszulesen und den neuen Inhalt nach Datei B zu schreiben.
Was du nicht tun solltest, ist Datei A komplett einlesen!
Besser wäre Datei A zum lesen öffnen, Datei B zum schreiben
öffnen und dann Zeilenweise von A nach B zu schreiben.
Beispiel:
open A, '<', './DateiA' or die $!;
open B, '>', './DateiB' or die $!;
while (<A>) {
s/suche/ersetze/;
print B;
}
close A;
close B;
Wenn du das Beispiel mit tell und seek vorziehst und du
tatsächlich Textbausteine mit gleichen Längen ersetzen
willst, dann muss ich mein Beispiel nochmal aktualisieren :)
Greez,
opi\n\n
<!--EDIT|opi|1145951489-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.