Thread formatierte Datenausgabe (27 answers)
Opened by Norden at 2007-06-06 13:25

sid burn
 2007-06-08 13:27
#77327 #77327
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Hmm,
mein oberere Code Funktioniert aber nur dann einwandfrei, wenn es immer gleich viele Spalten, in der Quelldatei gibt. Hat man solch eine Datei
Code: (dl )
1
2
3
10 20 30 40 50 60
20 30 40 50 60 70 80
30 40 50 60 70 80 90 100


Bekommt man keine richtige Reihenfolge mehr raus. Dann muss man soetwas machen:

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 @output;
my $col = 0;
while ( my $line = <> ) {
my @zahlen = split /\s+/, $line;

my $row = 0;
for my $wert ( @zahlen ) {
$output[$row++][$col] = $wert;
}
$col++;
}

for my $row ( @output ) {
for my $wert ( @$row ) {
print $wert || 'N/A', ' ';
}
print "\n";
}


Code: (dl )
1
2
3
4
5
6
7
8
9
sidburn@sid:~/perl$ ./zahlen.pl zahlen.txt
10 20 30
20 30 40
30 40 50
40 50 60
50 60 70
60 70 80
N/A 80 90
N/A N/A 100


Wenn die Ausgabe übrigens nur für einen Benutzer veranschaulicht werden soll, und dann auch schön Tabellarisch, dann empfehle ich das Modul: Text::ASCIITable\n\n

<!--EDIT|sid burn|1181294921-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread formatierte Datenausgabe