in reply to aborting File::Find::find

Use File::Next instead. It's an iterator, so you control how and when the iterators is called.
my $iter = File::Next->new( $dir ); my $done = 0; while ( !$done && my $file = $iter->() ) { # do stuff }
You can blow out of that loop whenever you want, with either a last; or a $done = 1;. The key is that it's YOU controlling the iteration, not File::Find and not some funky control package variables like $File::Find::prune.

xoxo,
Andy