in reply to Re: file::find
in thread file::find

Actually, no--the filename isn't supplied as the argument to your subroutine. There aren't any arguments, in fact. (Actually, if you peek at @_ in your wanted function, you *will* see arguments. But they're not actually supplied as arguments to your subroutine: they're the arguments to File::Find's finddir subroutine, which calls your wanted sub as &$wanted, which makes its @_ visible to your subroutine.) More in perlsub.

But that's getting off track. Anyway, what File::Find does is sets some package variables and $_ to the file name, the directory, and a combination of those two. From the docs:

$File::Find::dir contains the current directory name, and $_ the current filename within that directory. $File::Find::name contains "$File::Find::dir/$_". You are chdir()'d to $File::Find::dir when the function is called. The function may set $File::Find::prune to prune the tree.