How are you creating that hash? Are you using File::Find? Otherwise, getting all paths in this tree is just a depth-first search/traversal. There are Perl examples for this all over the place. Recursion is commonly used for this type of thing.
Comment on Re: How to iterate over nested hash and get all paths?