#!/usr/bin/perl use warnings; use strict; my $fieldsep = ","; sub addLine { my $rline = shift; my $line = shift; my @r = split($fieldsep, $rline); my @l = split($fieldsep, $line); $r[0] += $l[1]; $r[1] += $l[2]; $r[2] += $l[3]; return join($fieldsep, @r); } my %results = (); my $dir = './FXE'; foreach my $fp (glob("$dir/*")) { open my $fh, "<:encoding(utf8)", $fp or die "can't open $!"; while (my $line = <$fh>) { chomp $line; my @fields = split($fieldsep, $line); my $date = $fields[0]; if($date < 1101227) { next; } if (exists($results{$date})) { $results{$date} = addLine($results{$date}, $line); } else { my @f = @fields; shift(@f); $results{$date} = join($fieldsep, @f); } } close $fh or die "can't close $!"; } foreach my $i (sort(keys(%results))) { print "$i,$results{$i}\n"; }