#!/usr/bin/perl use strict; use File::Find; my $file; find( \&wanted, '/tmp/test' ); print "$file\n"; sub wanted { $dir = $File::Find::name if ( /hello\.txt/ ); } #### ... find( \&{ $dir = $File::Find::name if ( /hello\.txt/ ) }, '/tmp/test' ); #### #!/usr/bin/perl use strict; use File::Find; my $dir = find( \&wanted, '/tmp/test' ); print "$dir\n"; sub wanted { return $File::Find::name if ( /hello\.txt/ ); }