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); }