my $directory = shift @_;
my @dh;
my @files;
opendir (my $dh, $directory) or die "Couldn't open dir '$directory' : $!";
foreach my $file(readdir $dh) {
if( -f $file =~ /\.htm$/){
push(@files,$file);
}
elsif(-d $file){
push(@dh,$file);
$dh = shift @dh;
}
closedir ($dh);
}
スクリプトで DATA/ などのパスを取得しようとしていますが (これは成功しています)、スクリプトでそのディレクトリと子ディレクトリをスキャンし、一致するファイルがある場合は に保存し@files
ます。
ループを使用してすべてのサブフォルダーをスキャンしようとしています。
elsif(-d $file){
push(@dh,$file);
$dh = shift @dh;
}
このステートメント$dh
では、スキャンする新しい子ディレクトリ名を取得します
しかし、私は得ていますSegmentation fault