Willst Du Leerzei
len (wie im Titel beschrieben) oder Leerzei
chen (wie im Text beschrieben) entfernen?
So könntest Du Leerzeilen aus einer Datei entfernen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
use strict;
use warnings;
my $file = '/pfad/zu/datei.txt';
my @lines;
# öffne die Datei zum lesen und lese
# alles in ein Array ein
open(my $fh,'<',$file) or die $!;
while(my $line = <$fh>){
# schiebe die Zeile in das Array, wenn es keine Leerzeile ist
push(@lines,$line) if($line !~ /^\s*$/);
}
close $fh;
# öffne die Datei zum Schreiben und schreibe
# die Zeilen aus dem Array in die Datei
open(my $w_fh,'>',$file) or die $!;
print $w_fh $_ for(@lines);
close $w_fh;
Leerzeilen entfernen (mit Modul):
#!/usr/bin/perl
use strict;
use warnings;
use Tie::File;
my $file = '/pfad/zu/datei.txt';
tie my @lines,'Tie::File',$file or die $!;
@lines = grep{$_ !~ /^\s*$/}@lines;
untie @lines;
Leerzeichen entfernen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
use strict;
use warnings;
my $file = '/pfad/zu/datei.txt';
my @lines;
# öffne die Datei zum lesen und lese
# alles in ein Array ein
open(my $fh,'<',$file) or die $!;
while(my $line = <$fh>){
$line =~ s/\s//g;
push(@lines,$line);
}
close $fh;
# öffne die Datei zum Schreiben und schreibe
# die Zeilen aus dem Array in die Datei
open(my $w_fh,'>',$file) or die $!;
print $w_fh $_ for(@lines);
close $w_fh;
Leerzeichen entfernen (mit Modul):
#!/usr/bin/perl
use strict;
use warnings;
use Tie::File;
my $file = '/pfad/zu/datei.txt';
tie my @lines,'Tie::File',$file or die $!;
$_ =~ s/\s//g for(@lines);
untie @lines;