my $MAXHITS = 100; eval { find( \&wanted => $dir ); }; die $@ if $@ && $@ ne "Limit reached\n"; { my $hit_no = 1; sub wanted { die "Limit reached\n" if ++$hit_no > $MAXHITS; printf "%03d %s\n", $hit_no, $File::Find::name; } }