in reply to Moving folders using FTP

put only moves files, not directories.

Check out Net::FTP::Recursive

use Net::FTP::Recursive;

    $ftp = Net::FTP::Recursive->new("some.host.name", Debug => 0);
    $ftp->login("anonymous",'me@here.there');
    $ftp->cwd('/pub');
    $ftp->rput( ParseSub => \&yoursub );
    $ftp->quit;