[Perl] 便利!Net::FTPを使ってFTPサーバのフォルダの中身を調べる

手元のWindowsマシンからActivePerlでリモートのFTPサーバに接続してみました。
use strict;
use Net::FTP;

my $ftp = Net::FTP->new("my.host.name", Debug => 0 , Passive => "true");  # 接続
$ftp->login("username", "password");  # ログイン 

my @dir = grep /^d/, $ftp->dir;     #  ← フォルダ一覧をdirコマンドで取得
my @dir_names_full = @dir[2..$#dir];  #  自フォルダと親フォルダ("."と"..")を除く。
my @dir_names_short = map { (split)[8]  } @dir_names_full;   # フォルダ名のみを取得

$ftp->quit;

 # 出力してみる。
print "$_\n" for @dir_names_full;    
print "\n";
print "$_\n" for @dir_names_short;
出力結果
drwxrwx---   2 dqn      vchkpw       4096 Aug 26  2006 Maildir
drwxrwxrwx   3 dqn      hpusers      4096 Aug 13  2007 db
drwxr-xr-x   2 dqn      hpusers      4096 Jun 18 07:04 log
drwx---r-x  33 dqn      hpusers      4096 Mar 31 00:32 public_html

Maildir
db
log
public_html
参考
カテゴリ: