I need to check and see if certain directories are empty (without deleting them) as part of a larger program and I use the code below. Some of the directories have a lot of files so I thought I would optimize it by including the last if line to keep it from counting all files but it makes no difference in the time this sample code takes to run? Note I have about 10,000 files in the directory I am testing this on and it takes about 4 seconds for the code to complete with or without the last if line.
$start = time();
chdir "c:/temp";
while (<*>) {
$num++;
last if ($num==1); # makes no difference in speed
}
$stop = time();
$elapsed=$stop-$start;
print "elapsed = $elapsed seconds\n";
What am I missing and/or is there a better way to do this? Again, all I need to know is if the directory is empty or not without deleting anything.