#!/usr/bin/perl -w use strict; use warnings; use diagnostics; my %saldi; while (<>) { my @cellen = ( split /,/, )[ 3, 4 ]; $saldi{ $cellen[0] } += $cellen[1]; if ( eof(ARGV) ) { $ARGV =~ m/^(\S+)\.txt/; print "$1\n"; foreach my $name ( keys %saldi ) { print "\t$name\t$saldi{$name}\n"; } } } #### 394,eur,2006,D,18.20 394,eur,2006,D,22 394,eur,2006,C,25