While I don't have any direct impact on your problem, there are several other solutions to look at.
- IO::Dir - you might be able to use the tie interface and hook it up to a hash pre-tied to Tie::Regex::Hash.
- You could symlink the files to a real directory structure, maybe based upon the one CPAN uses. For example, IO::Dir is located at G/GB/GBARR/IO-Dir-x.xx.tar.gz. That way, the FORTRAN dreck and real code can both play nicely together.
- Since you're on Win32, there's bound to be a Win32 module that provides access to a system call that does what you need.
Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.