my $dir = '/some/where/'; chdir $dir or die "Can't chdir $dir\n"; opendir D, '.' or die "Can't opendir '.'\n"; my @files = readdir(D); closedir D; my %filesize; foreach my $f (@files) { $filesize{$f} = -s $f; }