in reply to grepping out global vars?

What you're asking for (static analysis of Perl) is impossible due to the dynamic nature of the language. The way you're doing it is the exact right way. And, in fact, it's what I do whenever I inherit Perl code. Reading code is hard and it takes time. But, it the only way to know what's going on.

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.