2014年4月4日金曜日

ディレクトリ・ファイル一覧の取得

単純に現在フォルダ以下のすべてのファイル名を取得するには、以下のコードで十分です。
@files=<*>; #カレントディレクトリ内の全ファイル名を取得
現在のフォルダから再帰的にすべてのファイル・フォルダ名を取得するには、以下のコードが必要です。
use File::Find;
@directories_to_search = ('./'); #(複数の指定可
find(\&wanted, @directories_to_search);

#--------------------------------------------
#ファイルが見つかる度に呼び出される
#--------------------------------------------
sub wanted {
print $File::Find::dir, '/'; #カレントディレクトリ
print $_; #ファイル名
print "\n";

#フルパスのファイル名
#print $File::Find::name, "\n";
}
他には、以下のものもあります。

  • glob() #ディレクト名でファイルの一覧取得
  • opendir() #ファイルハンドラでファイルの一覧を取得。opendirreaddirと一緒に使う

0 件のコメント:

コメントを投稿