とあるエンジニアの闇歴史帳

コピペで使える便利Wiki ※現在構築中です。

ユーザ用ツール


サイドバー

言語

サーバ関連

ツール

API

読み物

その他

perl:dir_recursion2

ディレクトリを再帰的にたどりファイル一覧を取得する その2 File::Find - Perl

この記事は2006年10月07日に書かれたものです。

今回は、PerlのFile::Findモジュールを利用した方法を解説する。File::FindモジュールはPerlに標準で入っているため、通常はインストールの作業などはいらない。

サンプル

;#
;#ファイル表示
;#
 
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";
}

実行結果

./.
./index.cgi
./define.pm
./dbdocs
./js
./js/index.js
./note
./note/index.cg
./note/add.cgi
./note/view.cgi
./note/del.cgi
./css
./css/view.css

File::Filndモジュールは、この他にハッシュ(連想配列)に実行結果を入れることができるなど、オプションも充実している。詳しくはドキュメントを読まれたい。

= FileFind - Traverse a directory tree. : http://search.cpan.org/~nwclark/perl-5.8.7/lib/File/Find.pm

関連書籍

failed to fetch data: unkown error

failed to fetch data: unkown error

関連ページ

perl/dir_recursion2.txt · 最終更新: 2020/06/23 14:10 (外部編集)