Schrift
[thread]8220[/thread]

perl: leerzeilen entfernen

Leser: 13


<< |< 1 2 3 4 ... 12 >| >> 114 Einträge, 12 Seiten
sabrina
 2006-08-07 10:33
#68561 #68561
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
hallo ihr perler
ich hab da mal ne frage kann mir vielleicht
irgendjemand helfen.
ich moechte alle leerzeichen einer datei
entfernen, aber es funzt nicht ich hab split
schon probiert
Code: (dl )
1
2
#@Datensatz = split(/\s/,$Felder);   
#$matrix =~ s/ /;/g;

und auch schon mit ner schleife
Code: (dl )
1
2
3
if (${matrix[0]},${matrix[1]}) = ~ /\s/;/g);
print "@{$matrix[0]}\n";
print "@{$matrix[1]}\n";

und auch mal so
Code: (dl )
1
2
#$(matrix[0],matrix[1]) = ~ s/\s/;/g);
#s/\s[.]{1,2}\s?/ /gi;

aber nichts funzt mach ich grundsatzlich
was falsch leerzeichen kann auch durch ; ersetzt
werden hauptsache leerzeichen verschwinden.

hoffe irgendjemand kann mir helfen.
danke schon mal
lg sabrina\n\n

<!--EDIT|renee|1154933124-->
sabrina
 2006-08-07 10:38
#68562 #68562
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
bin neuling erst seit zwei wochen
beschäftige ich mich damit hab die
datei eingelesen und kann auch mit
pop letzte spalte entfernen aber
hier komm ich schon seit drei tagen
nicht weiter und ich find es so
frustrierent war schon auf so vielen
web pages. hoffe einer von euch
kann zu meiner erleuchtung beitragen!
lg sabrina:laugh:
renee
 2006-08-07 10:54
#68563 #68563
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Willst Du Leerzeilen (wie im Titel beschrieben) oder Leerzeichen (wie im Text beschrieben) entfernen?

So könntest Du Leerzeilen aus einer Datei entfernen:
Code: (dl )
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):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/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:
Code: (dl )
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):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/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;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2006-08-07 11:00
#68564 #68564
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=sabrina,07.08.2006, 08:33][...]
Code: (dl )
1
2
#@Datensatz = split(/\s/,$Felder);   
#$matrix =~ s/ /;/g;

[/quote]
Wo kommt $matrix denn her?

Wenn Du jetzt my $ohne_leerzeichen = join('',@Datensatz) machst, dann steht in $ohne_leerzeichen auch der Satz ohne Leerzeichen.

Quote
und auch schon mit ner schleife
Code: (dl )
1
2
3
if (${matrix[0]},${matrix[1]}) = ~ /\s/;/g);
print "@{$matrix[0]}\n";
print "@{$matrix[1]}\n";

und auch mal so
Code: (dl )
1
2
#$(matrix[0],matrix[1]) = ~ s/\s/;/g);
#s/\s[.]{1,2}\s?/ /gi;

aber nichts funzt mach ich grundsatzlich
was falsch leerzeichen kann auch durch ; ersetzt
werden hauptsache leerzeichen verschwinden.

hoffe irgendjemand kann mir helfen.
danke schon mal
lg sabrina

Generell ist es immer schwierig, zu Code etwas zu sagen, wenn nur zwei oder drei Zeilen gezeigt werden.

Ganz lesenswert ist auch Wiki:dieser Wiki-Artikel.

Benutzt Du auch Wiki:[tt]use strict[/tt]?\n\n

<!--EDIT|renee|1154934058-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sabrina
 2006-08-07 11:35
#68565 #68565
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
benutze "#!/usr/bin/perl-w" fuer warnmeldungen
sorry wegen der verwirrung wollte leerstellen in einer datei die gefuellt ist mit vorname nachname usw. entfernen.
danke fuer die schnelle hielfe werde die cods gleich mal testen gehen.
echt lieb das du mir so schnell helfen konntest meld mich spaeter noch mal ob es jetzt tut!
lg sabrina
sabrina
 2006-08-07 11:38
#68566 #68566
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
mal ne dumme frage was ist der unterschied zwischen modul und normal?
:blush:
sabrina
 2006-08-07 11:40
#68567 #68567
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
matrix ist mein array es besteht aus zwei arrays.
das erste steht fuer die ueberschrift
das zweite fuer den restlichen inhalt
renee
 2006-08-07 12:16
#68568 #68568
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=sabrina,07.08.2006, 09:38]mal ne dumme frage was ist der unterschied zwischen modul und normal?
:blush:[/quote]
Bei dem Code mit Modul verwende ich ein Package (hier: CPAN:Tie::File). Damit kann man sich Arbeit sparen (hier z.B. das Öffnen der Datei und das Einlesen in ein Array), da alles "automatisch" gemacht wird.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sabrina
 2006-08-07 12:31
#68569 #68569
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
ah ok probiers lieber fuer den anfang ohne modul
habs grad getestet funzt noch nicht wirklich muss noch bissel dran zupfen vielleicht gehts dann aber danke schon mal
meld mich spaeter nochmal
lg sabrina
sabrina
 2006-08-07 13:03
#68570 #68570
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
also irgendwie steh ich grad wohl auf der leitung bin nun voellig wirr
hab deine cods schon in den teil in der ich die datei oefffne geschrieben funzt nicht dann in den teil in den die neue auf gemach wird und in der ich schreib aber die dooooofffffen leerzeichen bleiben und gehen einfach nicht weg! :(
arbeite momentan mit der blackbox von windows (cmd) und bekomm keinen richtigen fehler
naja geh noch bisschen bastel und hoff du kannst mir auf die spruenge helfen werd noch ganz knuelle
hoffe auf hilfe
lg sabrina
<< |< 1 2 3 4 ... 12 >| >> 114 Einträge, 12 Seiten



View all threads created 2006-08-07 10:33.