glob
을 사용하여 파일을 검색하는 중 이상한 동작이 발생합니다. (의도는 있지만 생각하지 않습니다.)접두어 글로브 접두어가있는 파일이 있는지 확인합니다.
나는 aaa:bbb
과 aaa:ccc
의 두 파일이 있습니다.
프리픽스가 aaa:*
인 파일이 있는지 확인하는 코드가 있습니다. 나는이 코드로 이것을한다 :
my $filelocation_special = "aaa";
if (glob($filelocation_special . ":*")) {
# file(s) exists!
}
이것은 작동한다. 그러나 동일한 코드를 두 번 더 실행하면 glob가 undefined를 반환합니다.
이 내 수익률은 다음과 같습니다 (대부분의 시간 어쨌든)
print STDERR "glob: " . glob($filelocation_special . ":*") . "\n";
# 1 run: aaa:bbb
# 2 run: aaa:ccc
# 3 run:
나는이 접두사를 가진 파일이 존재하는 경우 언제나 확인glob
를 다시 하기 위해 무엇을 할 수 있는가?
어쩌면 나는 다른 검사를 모두 사용해야 할 수도 있지만, 빠른 것을 찾지 못하고 파일이 존재하는지 검사 할 수 없습니다.
죄송합니다. 내 질문을 업데이트했습니다. –
만약 내가 3 번 복사하면, 그것은 나를 위해 작동합니다. http://stackoverflow.com/help/mcve – toolic
http://perldoc.perl.org/File/Glob.html에서이'CORE :: glob' 또는': bsd_glob' 파일을 찾으십니까? – simbabque