簡単なメモ: 私はかなりの数日間この問題に悩まされてきました。必ずしも答えを見つけることを望んでいるわけではありませんが、私を「啓発」する可能性のあるあらゆる種類の助けを求めています. また、私は Perl の初心者であるため、知識はそれほど多くなく、この場合、再帰性は得意ではありません。ここに行きます:
Perl スクリプトで実行したいことは次のとおりです。
- ディレクトリを引数に取る
- 渡されたディレクトリとそのサブディレクトリに移動して、*.xml ファイルを見つけます
- 見つかった *.xml ファイルのフル パスを配列に格納します。
以下は私がこれまでに持っているコードですが、私はそれを機能させることができませんでした:
#! /usr/bin/perl -W
my $path;
process_files ($path);
sub process_files
{
opendir (DIR, $path) or die "Unable to open $path: $!";
my @files =
# Third: Prepend the full path
map { $path . '/' . $_ }
# Second: take out '.' and '..'
grep { !/^\.{1,2}$/ }
# First: get all files
readdir (DIR);
closedir (DIR);
for (@files)
{
if (-d $_)
{
push @files, process_files ($_);
}
else
{
#analyse document
}
}
return @files;
}
誰かが私を正しい方向に向ける手がかりを持っていますか? それとももっと簡単な方法ですか?
ありがとう、sSmacKk :D