in reply to comparing files after FTP

If you want to get the filesize on the remote server then use the size method.

my $remote_size = $ftp->size($the_file);
-- vek --

Replies are listed 'Best First'.
Re: Re: comparing files after FTP
by nsyed (Novice) on Oct 16, 2003 at 13:26 UTC
    Hi Vek, Its returning the size 0. Any more suggestions? Thanks

      Take a peek at File::Listing's parse_dir function. You should be able to grab the file size by using that. Untested:

      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"; }
      -- vek --
      I tried to make it simple but still doesn't work. It returns nothing. Please let me know if you can find anything wrong with this code or modify to get the size of the remote file. Thanks
      #!/usr/bin/perl use strict; use Net::FTP; my $user = "someuser"; my $passwd ="password";; my $host = "someFTPserver.com"; my $file = "somefile.txt"; my $ftp = Net::FTP->new($host) or die "$@"; $ftp->login($user, $passwd) or die $ftp->message; my $dir = "/home/somedir/mydir/dest"; $ftp->cwd($dir) or die "Can't cwd to $dir\n"; my $remote_size = $ftp-> size($file); print ("The source file size is :", $remote_size , "\n"); $ftp->quit;