Wiggins D Anconia wrote:
Hi Jas.
Jas wrote:
[snip]
$ftp->put(`../path/to/*-www.tar.gz`) or die "Could not transfer files ", $ftp->message;
.. backticks in two statements!
$ftp->quit;
Error... Net::FTP>>> Net::FTP(2.71) Net::FTP>>> Exporter(5.566) Net::FTP>>> Net::Cmd(2.24) Net::FTP>>> IO::Socket::INET(1.26) Net::FTP>>> IO::Socket(1.27) Net::FTP>>> IO::Handle(1.21) Net::FTP=GLOB(0x8133e3c)<<< 220-Development FTP Server Net::FTP=GLOB(0x8133e3c)<<< FTPd 1.81.00 (Mar 3 2002) Ready Net::FTP=GLOB(0x8133e3c)<<< 220 Please enter your user name. Net::FTP=GLOB(0x8133e3c)>>> user user Net::FTP=GLOB(0x8133e3c)<<< 331 User name okay, Need password. Net::FTP=GLOB(0x8133e3c)>>> PASS .... Net::FTP=GLOB(0x8133e3c)<<< 230 User logged in. sh: line 1: ../path/to/02192004-www.tar.gz: Permission denied fileparse(): need a valid pathname at /usr/lib/perl5/5.8.0/Net/FTP.pm line 705
IMO it's best to use single quotes for strings unless you particularly
need
to interpolate variables or include control characters.
The backticks are your problem: they will make Perl shell out to execute the string as a command. The 'sh: line1:' in your error message is the clue. Presumably you don't have execute permission for '../path/to/02192004-www.tar.gz'?
Try this and see if it works any better:
my $ip = '192.168.0.2';
$ftp = Net::FTP->new($ip, Debug => 1) or die "Could not establish connection to $ip: $@";
$ftp->login('user', 'password') or die 'Could not login ', $ftp->message;
$ftp->put('../path/to/*-www.tar.gz') or die 'Could not transfer files ', $ftp->message;
Yes, but the OP might be trying to glob based on the *. Unless he really does have a file named '*-www.tar.gz', but I took this to mean a file glob, in which case his use of 'put' is wrong. 'put' takes a single file or filehandle and optionally a remote file name. The OP will need to file glob into a list then step through the list to transfer multiple files.
foreach my $file (glob('../path/to/*-www.tar.gz')) { $ftp->put($file) or die ....; }
But maybe I am reading too much into it...
http://danconia.org
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>