#!/usr/bin/perl -w
# Yet another time when dependence on libraries bit me, I had to see if
# I could manage an ftp script using the core perl libraries, so I wasn\'t
# dependent on Net::FTP being present in the same form on the system.
# This is just my proof of concept, developed with telnet and the perl
# cookbook.
use IO::Socket;
$remote_host = "remotehost";
$remote_port = 21;
$user = "username";
$pass = "password";
$socket = IO::Socket::INET->new(PeerAddr => $remote_host,
PeerPort => $remote_port,
Proto => "tcp",
Type => SOCK_STREAM)
or die "Couldn\'t connect to $remote_host:$remote_port : $@n";
# AUTHENTICATION
$answer = < $socket>;
print "$answer";
print $socket "user $usern";
$answer = < $socket>;
print "$answer";
print $socket "pass $passn";
$answer = < $socket>;
print "$answer";
# DIRECTORY NAVIGATION
print $socket "pwdn";
$answer = < $socket>;
print "$answer";
# QUIT
print $socket "quitn";
$answer = < $socket>;
print "$answer";
# and terminate the connection when we\'re done
close($socket);