opendir(DIR, $user{site_id}) || die "Unable to open directory $user{site_id}: $!"; my @userfiles = sort grep !/^\.\.?\z/, readdir DIR; close DIR; foreach my $file (@userfiles) { my $size = format_size(-s "$user{site_id}/$file"); print $size, "\n"; } sub format_size { my $bytes = shift; if ($bytes >= 1048576) { return sprintf("%.2f MB", $bytes / 1048576); } elsif ($bytes >= 1024) { return sprintf("%.2f KB", $bytes / 1024); } else { return "$bytes Bytes"; } }