in reply to Can't use string as HASH ref

The amount of code you have included, and the amount you have removed, makes it really hard to get a clear picture of what's going on (I didn't even realize this was a Tk question untill i drilled down your back and forth with Abigail)

Can you post a short sample program (in it's entirety) that demonstrates the problem you are having without outside dependacies -- ie: make a single widow with a single menu, use a hard coded list of options/directories, have "get_files" return [ map {"$_[0]/$_"; } qw(yakko wakko dot) ], etc....

A small example that people can read completely run is extremely valuable -- and the process of making it can help you isolate where/what exactly the problem is.