Net::FTP::File
モジュールを使用して、リモートパス内のディレクトリのリストを取得しています。私はen
という名前のディレクトリが同じくらいn
、詳細を示し、この場合を踏んまでは正常に動作するように見えた:Net :: FTP :: dir_hashref()のバグ?
'n' => {
'Bytes' => '4096',
'Group' => 'client3',
'Owner' => '5004',
'Path' => 'n',
'Last Modified Year/Time' => '17:59',
'Permissions' => 'drwxrwxr-x',
'Last Modified Day' => '17',
'Link To' => undef,
'Number of Links' => '7',
'Last Modified Month' => 'Jan'
},
サーバー上のディレクトリが正しい名前(en
)同じ所有者/グループ/権限などを持っています他のディレクトリは正常に表示されます。
私は問題が他のバグに依存しない知っているので、私は最小限にテストケースを削減:
#!/usr/bin/perl
use strict;
use warnings;
use Net::FTP::File;
use Data::Dumper;
$Data::Dumper::Terse = 1;
$Data::Dumper::Indent = 1;
my $ftp = new Net::FTP($site);
$ftp->login($user, $pass);
print Dumper $ftp->dir_hashref;
は、このエラーが発生する可能性があります私が間違ってやっているものはありますか?または、モジュールのdir_hashref()関数のバグですか?
また、FTPリスト内のディレクトリだけを取得するもう1つの(便利な)方法はありますか?標準Net::FTP
はdir()
メソッドを提供しますが、解析する必要がある文字列のようなls -l
の単なるリストです。
lennyボックスでコードスニペットを使用すると、再現できませんでした。 –
特定のサーバー(debian lenny btwを実行しています)で発生します。 –
ファイル名それ自体は魚介類であり、すなわち、印刷できない文字またはそのようなものを含んでいる。 – Svante