in reply to Beginner question

You have an infinite loop:
while (%stuff_to_store) { #see if it worked by printing out each eleme +nt of hash stuff_to_store print; #its not working and I don't know why }
You probably want to iterate over the hash thus:
while (my ($k,$v)= each %stuff_to_store) { #see if it worked by printi +ng out each element of hash stuff_to_store print $_, $v; #its not working and I don't know wh +y }
But you probably have only one value in the hash. Why the hash ?

I'm guessing you want a multi-level hash of hash of Array, but perhaps that may be too complicated. If you understand this code, feel free to use it, or ask!:

push @{ $stuff_to_store{$dir_to_process}{$file} }, $_; # Debug print it.. for ( @{ $stuff_to_store{$dir_to_process}{$file} } ){ print; }

     Have you been high today? I see the nuns are gay! My brother yelled to me...I love you inside Ed - Benny Lava, by Buffalax