use File::Find; use Storable qw(store retrieve); my $mbox = {} foreach my $usr (@usr_dirs) { chomp $usr; my $usr_dir = $base_dir."/".$usr; undef $mbox; $mbox = retrieve($storable_file) if -e $storable_file; find(\&wanted,$usr_dir); store $mbox, $storable_file or die "Can't store !\n"; }