> Now that I think of it, the interface in find.pl is just poor anyway. > Why isn't the information that is passed in $_, $name, and $dir passed > via the @_ argument list? It was probably a speed consideration, as find.pl was originally written for the automated find2perl, which always generated a "correct" wanted function. Pushing a new frame did take a while with Perl 4, and if you were running (the equivalent of) find / ... frame pushing could amount to several seconds of time on large file systems. > At first I was thinking that it was a > backwards compatiblity thing, since earlier perls did not have local() Err, Perl 4 certainly had local(), but that also takes a "long time" to execute (it's a runtime function, as opposed to my() which is a "compiler" directive (not really, but close enough for this discussion)). BTW, you have to use local with $_, not my, in Perl 5, unless you save and restore as Adam did.