あるファイルをサーチして再帰的に処理するには File::Find::find を使おう

File::Find::find でサーチパスを指定します。
ファイル毎に再帰的にファンクションがコールされます。
ファイル名は $File::Find::name で取得し、その際にはファイルがあるディレクトリがカレントになります。

下記は Makefile をサーチしてそれぞれで clean を実行する例です。


File::Find::find (\&do_clean, "../hoge");

sub do_clean {
my $find_file = $File::Find::name;
if ($find_file =~ /\/Makefile$/) {
print $File::Find::dir . "\n";
if (-r "Makefile") {
system "make clean";
}
}
};

2016-07-15 : Work-Linux-Perl : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

zive

Author:zive
大阪在住、男

ブログ検索

月別アーカイブ

FC2カウンター