Beefy Boxes and Bandwidth Generously Provided by pair Networks chromatic writing perl on a camel
laziness, impatience, and hubris
 
PerlMonks  

Re: ftp files from Unix m/c

by amphiplex (Monk)
on Jul 22, 2002 at 05:44 UTC ( [id://183993]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to ftp files from Unix m/c

Hi !

The simplest method would be to use the cwd method to change the current directory to the one you want to do an ls in.

BTW: Answers here are generally posted here as a reply node, so that others can see if a question was answered already, correct answers or learn from them.

Update: Here is some code that might help you:
use strict; use Net::FTP; my $remote_host = "*****************"; my $remote_user = "*******"; my $remote_password = "*******"; my $remote_dir = "/tmp"; my $ftp = Net::FTP->new($remote_host) or die "error initiating ftp: $! +\n"; $ftp->login($remote_user,$remote_password) or die "couldn't login: $!\ +n"; # force binary transmission of files, generally a good idea $ftp->binary(); my @files = $ftp->ls($remote_dir); print join "\n",@files; print "\n","="x80,"\n"; # now change current working directory and do ls there $ftp->cwd($remote_dir); my @files = $ftp->ls(); print join "\n",@files;

---- amphiplex

Replies are listed 'Best First'.
Re: Re: ftp files from Unix m/c
by simeon2000 (Monk) on Jul 22, 2002 at 09:21 UTC
    I think what the person is asking is how to do a listing, but ignore all of the directory entries in the directory he is reading from.

    Frankly, I don't think this could be done with Net::FTP->ls(), AFAIK, because it doesn't give you any bits to determine between dirs and files, and you certainly can't do a grep ! -d  $_, readdir REMOTE_DIR with the FTP module.

    Perhaps the easiest way would be to use the Net::FTP->dir command. This will give you an ls -l UNIX long directory list with file permissions and stuff. Then you can probably do a  grep ! /^d/, Net::FTP->dir() instead. Of course, then you have to extract the filename from each line from amidst the other info, but that's not hard.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://183993]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.