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