./a/b
또는 ./a/d
디렉토리에만있는 파일을 나열하려고합니다. 이제 (-d && $_ =~ "b") || (-d && $_ =~ "d")
을 사용하여 명시 적으로 지정하고 있습니다. 배열에 필요한 폴더를 넣을 수있는 방법이 있습니까?주어진 디렉토리에만 존재하는 파일을 나열 하시겠습니까?
use File::Find;
my $filename = "h*.txt";
print ("Now it's:", $filename);
find({
wanted => \&wanted,
preprocess => \&dir_preprocess,
}, './a');
sub dir_preprocess {
my (@entries) = @_;
#my @tmparr=("d","b"); This isn't working
if ($File::Find::dir eq './a') {
@entries = grep { (-d && $_ =~ "b") || (-d && $_ =~ "d") }@entries;
}
return @entries;
}
my @mylist;
sub wanted{
if($_ =~ $filename) {
push(@mylist, $_);
}
}
print ("It's:", @mylist);
@entries 배열에 포함 된 내용을 표시 할 수 있습니까? – user4035
그래,/b와/d의 파일 만 필요합니다. –
'$ _ = ~ "b"''문자열이'b'와 같은지 아닌지 테스트합니다. 그렇게하려면'$ _ eq 'b''가 필요합니다. '= ~'연산자는 오른쪽 인자를 정규 표현식으로 취급합니다. –