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

bloonix
 2006-10-19 11:26
#70934 #70934
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Mir fällt nur das ein...

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
use strict;
use warnings;
use Data::Dumper;

my @vfile = (
  's1 s2 s3 s4 32 056 KB',
  's1 s2 s3 s4 32 KB',
);

my $columns = 5;

while (defined (my $line = shift @vfile)) {
  # $columns ohne -1
  my @array = (split(/[\t\s\\]/,$line))[0..($columns)];
  # falls die 6. Spalte leer ist und kein KB da steht
  if ($array[$columns]) {
     my $last = pop @array;
     $array[-1] .= $last if $last =~ /^\d+$/;
  }
  $array[-1] = sprintf('%.2f', $array[-1] / 1024);
  foreach (@array) {
     s/^\s+/;/g;
     s/\s+$/;/g;
  }
  print Dumper(\@array);
}


#> ./test.pl
$VAR1 = [
's1',
's2',
's3',
's4',
'31.30'
];
$VAR1 = [
's1',
's2',
's3',
's4',
'0.03'
];
\n\n

<!--EDIT|opi|1161243017-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

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