use File::Listing qw(parse_dir); # your ftp code here. my @dirlist = $ftp->ls("-l"); for (parse_dir(@dirlist)) { ($name, $type, $size, $mtime, $mode) = @$_; next if $type ne 'f'; # only want plain files print "Size of $name is $size\n"; }