in reply to File::find and skipping directories

Try with:
if ($uid < 500){ print "UID is $uid, skipping $File::Find::dir $_\n"; $File::Find::prune = 1; return; }
Setting $File::Find::prune global to a true value, you are telling find() function to avoid recursing into the current dir. You can find a (brief) mention of this feature on File::Find documentation