#!/usr/bin/perl use warnings; use strict; use File::Path; if( (defined $ARGV[0]) and ($ARGV[0] eq 'c')) { my $dir = 'dir'; mkpath($dir) || die "no permission to $dir?"; foreach my $filenum (1..500000){ open FH, "> ./dir/$filenum" or warn "$!\n"; close FH; } } chdir "dir" or die "Couldn't chdir $!\n"; opendir(D, ".") or die "Couldnt open $!\n"; my $count = 0; while (my $file = readdir D) { $count++; } print "$count\n";