LS 命令没有给出我在 Net::FTP 中的期望。我希望它返回一个字符串数组(文件名),但我得到一个数组,其中包含一个字符串数组。
use strict;
use Net::FTP::Common;
my ($host, $user, $pw) = ('<ftp site>', 'user', 'pw');
my $ftp = new Net::FTP($host) || die;
$ftp->login($user, $pw) || die;
my $pwd = $ftp->pwd();
my $subDir = 'subdir/';
my $pattern = '*.txt';
$ftp->cwd($subDir);
$ftp->pasv(); # passive mode
my @files = $ftp->ls($pattern) || die;
$ftp->cwd($pwd);
文件数组如下所示,例如:
@files[@array[0]] = '文件名.txt';
我也试过不改变目录,只是做$ftp->ls('subdir/*.txt');
同样的结果。
为什么要这样做?我误解了返回值?这是在 WINDOWS 上。