sub process($$$) { my($path, $seen, $total) = @_; # do something... } my %seen; my %total; foreach my $path (@ARGV) { process($path, \%seen, \%total); }