Kai Diefenbach: Loeschen leere Zeilen (newline)

Beitrag lesen

Hallo Lev/Klaus,

ich würde es so machen:

hallo,

oder Du machst es so:

open(IN, $dateiname);

Rückgabewert testen

open IN, $dateiname or die "$!";
open OUT, ">$dateiname" or die "$!";

@Zeilen = <IN>;
close(IN);
open(OUT,">$dateiname");

In diesem Fall besteht IMHO kein Grund, die gesamte Datei in ein Array zu lesen. Dies kann sehr Speicherintensiv werden.

foreach $zeile (@zeilen)
   {
   chomp $zeile; #entfernt das NEWLINE
   $zeile =~ s/\s*$//; #optional entfern leerzeichen am ende vom

»»    string

next unless $zeile; #weiter wenn Zeile leer ist
   print OUT "$zeile\n";
  }
close(OUT);

while (<IN>) {
   print OUT unless /^$/;
}

close IN;
close OUT;

Grüße
Klaus

Gruß
  Kai