Thread letzte Spalte in jeder zeile ändern: die zahlen durch best. zahl teilen (57 answers)
Opened by sabrina at 2006-10-18 18:37

sabrina
 2006-10-19 15:22
#70957 #70957
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
hab dein Code in mein script in das zweite open geschrieben, aber ich bekomme die gleiche ausgabe wie mit dem code einzeiler von renee.
mein code sieht jetzt so aus
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/perl
use warnings;
use strict;
my @data;
open(FH,"<BLUBBER.txt") or die $!;              
while(my $line = <FH>) {              
chomp $line;              
my @array = (split(/[\t\s\\]/,$line));  
foreach (@array) {
    s/^\s+/;/g;                    
    s/\s+$/;/g;          
} # foreach
if ($line =~/\bBLUBB|SAND?\b/ and $line !~/\bMUSCHEL\b/){
push(@data,[@array]);
} # if
} # while
close (FH);
my $format = '';
for my $i(0..scalar(@{$data[0]})-1){        
my $max = find_longest(map{$_->[$i]}@data);
$format .= '%-'.$max.'s ';
}
for my $entry(@data){
print sprintf($format . " \n",@$entry);
}
open(FH,"<BLUBBER.txt") or die $!;              
  open(OUTDATEN,">ZIELneu.txt") or die $!;
 while (defined (my $line = <$in>)) {
 my @array = (split /[\t\s\\]+/, $line)[0..7];
 my $x = pop @array;
 if ($x =~ /\./) {
    pop @array;
    my $y = pop @array;
    $array[-1] .= $y;
 } else {
    pop @array;
    pop @array;
 }
 $array[-1] = sprintf('%.3f', $array[-1] / 1024);
 print OUTDATEN join(';', @array), ":50\n";
}
close (OUTDATEN) or die $!;
close (FH) or die $!;

sub find_longest{                          
my $longest = 0;
for(@_){
    my $length = length($_);
    $longest = $length if($length > $longest);
}
return $longest;
}  

kann ich das so einfach ändern?
bekomme wieder 0.03125 ergebnisse
hab ich es falsch eingebaut?
lg sabrina\n\n

<!--EDIT|sabrina|1161257239-->

View full thread letzte Spalte in jeder zeile ändern: die zahlen durch best. zahl teilen