#! /usr/bin/perl -w use strict; my $dir = shift || '.'; opendir D, $dir or die "Cannot open dir $dir: $!\n"; my %size; while( defined( my $file = readdir(D) )) { # only makes sense to ask for the size of a file next unless -f $file; $size{$file} = (stat $file)[7]; } closedir D;