Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]10480[/thread]

String zeilenweise ausgeben

Leser: 1


<< >> 2 Einträge, 1 Seite
Gast Gast
 2007-09-27 19:11
#100078 #100078
Hallo,

ich hab eine Varibale $text, die einen String (mit Zeilenumbrüchen) enthält. print $text; ergibt etwa:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
abc

de


fgh



ij


Ich möchte aber nur die nicht-leeren Zeilen ausgeben. Ich habe schon versucht, $text in ein Array zu übergeben, aber scheinbar enthält das Array dann nur ein Element, nämlich den gesamten String und nicht mehrere Elemente, die jeweils eine Zeile des Strings enthalten. Kann mir jemand weiterhelfen? Sollte mit Perl ja eigentlich kein großes Problem sein, leider komme ich nicht drauf...

Gruß
Jens
pq
 2007-09-27 21:48
#100081 #100081
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
woher kommt denn $text?
du kannst einfach an newlines splitten:
Code (perl): (dl )
my @array = split /\n+/, $text;

das plus bedeutet, es wird an mehreren newlines gesplittet.
so fallen die leerzeilen raus.
oder du liest es gleich in ein array ein:
Code (perl): (dl )
m @array = grep length, <$fh>;
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 2 Einträge, 1 Seite



View all threads created 2007-09-27 19:11.