Я использую Perl-модуль Net :: FTPSSL и "переименовать" не работает, все остальное работает. Я проверил наличие файла и могу переименовать его с помощью ftp-клиента на основе графического интерфейса, но не через модуль Perl.
>>> RNFR ftpbogus.txt, testfile.txt
<<< 550 RNFR command failed.
Ниже приведен код.
use Net::FTPSSL;
use Test::More;
my $server = "localhost";
my $ftps = Net::FTPSSL->new("localhost",
Port => 990,
Encryption => 'E',
Debug => 5);
$ftps->login("ftpuser55", "narfnarf");
## copying a file to the user's home directory.
$ftps->put("ftpbogus.txt");
my @ret = $ftps->list();
## renaming a file in the ftp server
$ftps->rename("ftpbogus.txt, testfile.txt");
#$ftps->quit();
rename
принимает два аргумента: OLDNAME, NEWNAME
. Вы передаете одну строку с обоими именами файлов, команда должна читать
$ftps->rename("ftpbogus.txt", "testfile.txt");