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

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

ユーザ用ツール


perl:dir_recursion2

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

perl:dir_recursion2 [2017/12/14 20:18]
perl:dir_recursion2 [2020/06/23 14:10] (現在)
行 1: 行 1:
 +====== ディレクトリを再帰的にたどりファイル一覧を取得する その2 File::Find - Perl ======
 +~~socialite~~
 +<note important>この記事は2006年10月07日に書かれたものです。</note>
 +
 +今回は、PerlのFile::Findモジュールを利用した方法を解説する。File::FindモジュールはPerlに標準で入っているため、通常はインストールの作業などはいらない。
 +
 +===== サンプル =====
 +<code 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";
 +}
 +</code>
 +
 +===== 実行結果 =====
 +<code>
 +./.
 +./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
 +</code>
 +
 +File::Filndモジュールは、この他にハッシュ(連想配列)に実行結果を入れることができるなど、オプションも充実している。詳しくはドキュメントを読まれたい。
 +
 +  = FileFind - Traverse a directory tree. : http://search.cpan.org/~nwclark/perl-5.8.7/lib/File/Find.pm
 +
 +===== 関連書籍 =====
 +{{amazon>jp:4873113008}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:B00ISP0OM8}}
 +<html><p style="clear:both"></p></html>
 +
 +{{tag>CGI・Perl例文集 Perl ディレクトリ 再帰 }}
 +~~socialite~~
  

関連ページ