@filenames = grep (!/^\.\.?$/ , readdir (DIR)); closedir DIR; foreach (@filenames){ $file = "$dir$_"; $size = -s "$file"; $h{$file} = $size; }