Mathew Snyder schreef: > Dr.Ruud: >> my @filenames = grep -f "$dir/$_", sort readdir DH; > > Interesting. The above line returns 1648 items while the following > > @filenames = sort grep { !/^\.$|^\.\.$/ } readdir $dh; > > returns 1650.
That would mean that there are 2 other "no-plain-files" inside your $processDir. See `perldoc -f -f` again. The '.' and '..' are directories, not plain files. You can write !/^\.$|^\.\.$/ as !/^\.\.?$/ so also as !/^[.][.]?$/ To find the missing two: perl -Mwarnings -Mstrict -le ' my $dn = q{/usr/bin} ; opendir my $dh, $dn or die qq{opendir $dn: $!} ; my @fn ; if (1) { @fn = sort grep { /^[.][.]?$/ } readdir $dh ; } else { @fn = sort grep !-f "$dn/$_", readdir $dh ; } print "@fn\n", scalar @fn ; ' Copy-paste that code to your command line. Change the "if (1)" to "if (0)" to activate the other line. -- Affijn, Ruud "Gewoon is een tijger." -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>