#!/usr/bin/perl -w
#
#
use strict;
use Net::FTP;
use Net::FTP::File;
use Term::ReadKey;
use diagnostics;
my $username;
my $password;
my $directory;
my $localfile;
my $remotefile;
my $filename;
my $domain;
print "Luke's Neato FTP Script, Version 1.1\n";
print "Domain: ";
chomp($domain = <STDIN>);
my $ftp;
if($ftp = Net::FTP->new($domain)) {
print "Successfully connected to $domain\n";
} else {
print "Couldn't connect:\n\t" . $ftp->message ;
quit();
}
print "Username: ";
chomp($username = <STDIN>);
ReadMode 2;
print "Password: ";
chomp($password = <STDIN>);
ReadMode 0;
if($ftp->login($username, $password)) {
print "\nSuccessfully logged in as $username\@$domain\n";
} else {
print "Couldn't Login:\n\t" . $ftp->message ;
quit();
}
print "Working Directory: ";
chomp($directory = <STDIN>);
if($ftp->cwd($directory)) {
# change working directory
print "Successfully changed working directory to $directory";
} else {
print "Couldn't change working directory:\n\t" . $ftp->message ;
quit();
}
my @filearray;
my $input = '';
my $count = 0;
print "\n";
while () {
print "File to upload: ";
chomp($input=<STDIN>);
if ($input ne '') {
push @filearray, $input;
$count++;
next;
}
if ($input eq '') { last; }
}
foreach my $element (@filearray){
my $chvalue = 0;
if($element =~ /\.(.+?)$/){
if($1 eq 'cgi' || $1 eq 'pl' || $1 eq 'pm') {
$ftp->ascii;
# transfer in ASCII mode
$chvalue = 755;
# chmod it to 755
} else {
$ftp->binary;
$chvalue = 644;
}
if($ftp->put($element)) {
print "$element uploaded successfully to $directory at $do
+main\n";
if($ftp->chmod($chvalue, $element)) {
print "$element successfully chmoded to $chvalue.\n";
} else {
print $ftp->message;
quit();
}
} else {
print "Couldn't put $element:\n\t" . $ftp->message ;
quit();
}
} else {
if($ftp->put($element)) {
print "$element uploaded successfully to $directory at $do
+main\n"
} else {
print $ftp->message;
quit();
}
}
}
quit();
# quits, fancy that.
sub quit {
$ftp->quit();
print "Press any key to exit";
chomp(my $chomp = <STDIN>);
exit;
}
In reply to ftp.pl
by Spidy
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|