#!/usr/bin/perl -w
use strict;
use Net::FTP;
use Fcntl qw(O_WRONLY O_RDONLY O_APPEND O_CREAT O_TRUNC);
my $dns = 'ftp.squarepants.com';
my $user = 'SpongeBob';
my $passwd = '3xtr&Dry';
my $dir = 'under/pacifiq/ocean/';
my $ftp = Net::FTP->new( $dns, Debug => 0 )
or die "Cannot connect to $dns: $@";
$ftp->login( $user, $passwd )
or die "Cannot login ", $ftp->message;
$ftp->cwd($dir)
or die "Cannot change working directory ", $ftp->message;
my ( $loc, $buf, $data );
my ( $remote, $local );
$remote = $local = 'BikiniBottom.png';
$data = $ftp->retr($remote)
or die "unable to retrieve $remote\n";
unless ( sysopen( $loc, $local, O_WRONLY | O_TRUNC | O_CREAT ) ) {
die "Cannot open $local: $!\n";
}
while ( my $len = $data->read( $buf, 2048 ) ) {
printf( " %d bytes read\n", $len );
unless ( print $loc $buf ) {
die "Cannot write to $local: $!\n";
$data->abort;
close($loc);
}
}
print "Total read : ", $data->bytes_read(), "\n";
$data->close;
$ftp->quit;
hth, PooLpi
'Ebry haffa hoe hab im tik a bush'. Jamaican proverb
|