#!/usr/bin/env perl use strict; use warnings; # get a list of all CSV files in the piggybank directory my @fnames = glob('piggybank/*.csv'); my $total = 0; foreach my $fname (@fnames) { if(!-f $fname) { print STDERR "$fname is not a file!\n"; next; } $total += readAccount($fname); } print "Money left in the piggybank: $total\n"; sub readAccount { my ($fname) = @_; my $balance = 0; open(my $fh, "<", $fname) or die($!); foreach my $line (<$fh>) { chomp $line; if($line =~ /(.+)\;(.+)/) { $balance += $2; } } close $fh; print "$fname balance: $balance\n"; return $balance; }