Leser: 5
![]() |
|< 1 2 3 4 5 >| | ![]() |
49 Einträge, 5 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
my @zeilen=(); open (FILE, '<', '/tmp/testdat.txt') or die "Fehler beim öffnen der Datei : $!"; while(<FILE>) { print $_; /^([^;]*;){2}([^;]*)/; #separate content of column three push (@zeilen, [$_,$2]); #initialize ,2d array -> [0]=whole line, [1]content of column three } close (FILE); my $first_line=shift(@zeilen); #store first line @zeilen=sort{$a->[1] <=> $b->[1]}@zeilen; #sort unshift(@zeilen, $first_line); #add first line print "\n----------\n\n"; for my $zeile (@zeilen) {print $zeile->[0]}
Quote
LanX-+2008-08-16 18:18:26--Oh ja, hatten wir ja letztens, das man auf Matchvariablen nur zugreifen soll wenn's auch wirklich matcht. Oder man lässt die Matches auf ein Array links zuweisen.
LanX-+2008-08-16 18:18:26--Bestätigt meine Auffassung, dass man sich die RegEx-Kanone sparen sollte, wenn ein Builtin-Spatz reicht.
leo11+2008-08-16 18:27:49--Wie macht man das? Welcher Thread war das?
@matches= ($text =~ m/pattern/)
betterworld+2008-08-16 18:43:50--Daher würde ich der Klarheit zuliebe auch empfehlen, so zu schreiben:
Code: (dl )split /;/
1 2 3 4 5 6 7 8 9
DB<16> $_="a.b.c.d" DB<17> print join "_", split '\.' a_b_c_d DB<18> print join "_", split '.' DB<19>
![]() |
|< 1 2 3 4 5 >| | ![]() |
49 Einträge, 5 Seiten |