use File::Find; sub callback (&) { my $sub = shift(); return sub { my @args = @_; return sub { $sub->(@args); } } } my $wanted = callback { my ($some, $params) = @_; print "wanted( $some, $params); \$_ = $_\n"; # ... }; find( $wanted->(1,2), 'd:\temp\copy'); find( $wanted->(20,19), 'd:\temp\copy');