The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::FTP::Recursive - Recursive FTP Client class

SYNOPSIS

    use Net::FTP::Recursive;

    $ftp = New::FTP::Recursive->new("some.host.name", Debug => 0);
    $ftp->login("anonymous",'me@here.there');
    $ftp->cwd('/pub');
    $ftp->rget();
    $ftp->quit;

DESCRIPTION

Net::FTP::Recursive is a class built on top of the Net::FTP package that implements recursive get and put methods for the retrieval and sending of entire directory structures.

This module will work only when the remote ftp server and the local client understand the "ls" command and return UNIX-style directory listings. It is planned that in the future, this will be a configurable part of the module.

When the Debug flag is used with the Net::FTP object, the Recursive package will print some messages to STDERR.

CONSTRUCTOR

new (HOST [,OPTIONS])

A call to the new method to create a new Net::FTP::Recursive object just calls the Net::FTP new method. Please refer to the Net::FTP documentation for more information.

METHODS

rget ( )

The recursive get function call. This will recursively retrieve the ftp object's current working directory and its contents into the local current working directory.

This will take an optional argument that will control what happens when a symbolic link is encountered on the ftp server. The default is to ignore the symlink, but you can control the behavior by passing one of these arguments to the rget call (ie, $ftp->rget(symlink_ignore => 1)):

rput ( )

The recursive put function call. This will recursively send the local current working directory and its contents to the ftp object's current working directory.

This will take an optional argument that will control what happens when a symbolic link is encountered on the ftp server. The default is to ignore the symlink, but you can control the behavior by passing one of these arguments to the rput call (ie, $ftp->rput(symlink_ignore => 1)):

TODO LIST

Make the "ls" command configurable
Make the parsing of the "ls" output configurable

REPORTING BUGS

When reporting bugs, please provide as much information as possible. A script that exhibits the bug would also be helpful, as well as output with the "Debug => 1" flag turned on in the FTP object.

AUTHOR

Jeremiah Lee <texasjdl@yahoo.com>

SEE ALSO

Net::FTP

Net::Cmd

ftp(1), ftpd(8), RFC 959

CREDITS

Andrew Winkler - for various input into the module.

COPYRIGHT

Copyright (c) 2001-2003 Jeremiah Lee.

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.