Simple FTP client : FTP « Network « Perl

Home
Perl
1.Array
2.CGI
3.Class
4.Data Type
5.Database
6.File
7.GUI
8.Hash
9.Language Basics
10.Network
11.Regular Expression
12.Report
13.Statement
14.String
15.Subroutine
16.System Functions
17.Win32
18.XML
Perl » Network » FTP 




Simple FTP client
    

#!/usr/bin/perl -w
use warnings;
use strict;
use POSIX qw(O_RDWR O_CREAT O_EXCL tmpnam);
use Sys::Hostname; # for 'hostname'

die "Simple anonymous FTP command line client\n Usage: $0 <server> <command>\n" unless scalar(@ARGV)>=2;

my ($ftp_server,@ftp_command)=@ARGV;

my $ftp_resultfile;
do {
    $ftp_resultfile = tmpnam();
    sysopen FTP_RESULT, $ftp_resultfile, O_RDWR|O_CREAT|O_EXCL;
until (defined fileno(FTP_RESULT));

if (open (FTP, "|ftp -n > $ftp_resultfile 2>&1")) {
    print "Client running, sending command\n";

    print FTP "open $ftp_server\n";
    my $email=getlogin.'@'.hostname;
    print FTP "user anonymous $email\n";
    print FTP "@ftp_command\n";
    close FTP;
else {
    die "Failed to run client: $!\n";
}

print "waiting for response\n";
my @ftp_results = <FTP_RESULT>;
check_result(@ftp_results);
close FTP_RESULT;
unlink $ftp_resultfile;
print "Done\n";

sub check_result {
     return unless @_;
     print "Response:\n";
     print "\t$_" foreach @_;
}

   
    
    
    
  














Related examples in the same category
1.Using Net::FTP to get a file on the server
2.Using a Net::FTP Object
3.The following commands allow you to pick up a file via FTP
4.Login to a FTP server
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.