2012-10-22 4 views
0

내 카탈로그 구조에서 파일을 검색하는 데 약간의 문제가 있습니다. 예를 들어 나는 "page"디렉토리를 가지고있다. 그 안에는 "a"와 "b"라는 두 개의 디렉토리가 있습니다. 두 디렉토리 모두 a.html 및 b.html 파일을 포함합니다. 어떻게이 파일을 찾고 화면에 쓰는 등 Perl 재귀 프로 시저로 작성합니까?많은 파일과 Perl에서 재귀를 통해 검색

보다 구체적으로. 파일의 "보편적 인"경로를 작성하는 방법을 모르겠습니다. 예를 들어 :

open (FILE, "page/ (find a and b)/find (a.html and b.html)") or die "Can't open!"; 

답변

1

당신은 파일을 찾을 glob를 사용할 수 있습니다

for my $filename (glob 'page/{a,b}/{a,b}.html') { 
    open my $FH, '<', $filename or die "Cannot open $filename: $!"; 
    # Process the file here. 
} 

File::Find를 참조하십시오.

+0

하지만이 경우에는 {a, b, ...}를 사용해야합니다. 하지만 예를 들어 100 개의 디렉토리가 있고 그 중 모두를 포함하려는 경우 어떻게해야합니까? – caro

+0

'?'는 임의의 문자를 의미 할 수 있고'*'는 임의의 문자열을 나타낼 수도 있습니다 (예를 들어'glob 'page /?/*. html'). – choroba

+0

그래, 고마워, 문제가 해결되었습니다 :) – caro

관련 문제