OK, a friend is trying to process directories and then files. They have a preprocess routine that sorts thus, but the files are still getting processed first. Investigation revealed that the inner loop calls wanted() on files immediately while pushing the dirs onto a stack for later processing (File/Find.pm v1.10, starting at line 907):
if (-d _) { --$subcount; $FN =~ s/\.dir\z//i if $Is_VMS; # HACK: replace push to preserve dir traversal order #push @Stack,[$CdLvl,$dir_name,$FN,$sub_nlink]; splice @Stack, $stack_top, 0, [$CdLvl,$dir_name,$FN,$sub_nlink]; } else { $name = $dir_pref . $FN; # $File::Find::name $_= ($no_chdir ? $name : $FN); # $_ { $wanted_callback->() }; # protect against wild "next" } So, uhm, anyone know why? I see lots of "HACK:" comments indicating some history here... -- Mark J. Reed <[EMAIL PROTECTED]>