'-s filehandle': Returns size if file exists and has nonzero size.
#!/usr/bin/perl -w $dir = "c:\\"; opendir(DIR, $dir) or die "Can't open $name due to $!"; @entries = readdir(DIR); closedir(DIR); @sorted = sort(@entries); foreach $entry (@sorted) { $name = $dir . '/' . $entry; print "$name "; $size = -s $name; print " $size bytes, "; }