Thread Zeile in Datei bearbeiten (12 answers)
Opened by hudo at 2007-08-29 14:02

sid burn
 2007-08-29 19:29
#98846 #98846
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Ich wollte eigentlich auch wissen, obs besser ist die Datei einzulesen mit open usw
oder mit Tie::File direkt in der Datei zu bearbeiten.

Also bevor du die Datei einliest und in einen kompletten Array Speicherst sollte man lieber Tie::File nutzen. Da dort die ganze Datei nicht in den Speicher geladen wird.

Ansonsten kannst du eine Datei mit open öffnen mit einer while() Schleife die zeilen durchgehen und sofort in eine neue Datei schreiben. Danach dann die erste datei löschen, und die neue Datei den namen der alten Datei geben.

Das ist auch das vorgehen was perl mit dem Schalter "-i" macht, bzw wenn du die Variable "$^I" setzt.

Quote
Kann man eigentlich $elem direkt editieren und sind die Aenderungen dann in @adressen

Ja kannst du.

Code (perl): (dl )
1
2
3
for my $elem ( @array ) {
    # Verändere $elem
}


Jede veränderung an $elem wirkt sich auf @array aus, das ist auch so gewollt.

Quote
Ich denke es waere besser die äussere Schleife mit Zaehler bis $#adressen laufen zu lassen und dann das adressen[zaehler] zu editieren.

Nein, wäre es nicht. Da es Perl untypisch ist.
Du kannst mit for über jedes Element eines Array itterrieren und veränderungen an dem Skalar wirken sich auf das ursrpungsarray aus, also nutze es auch.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Zeile in Datei bearbeiten