2013-09-04 3 views
1

저는 Windows 7을 가지고 있는데, 디렉토리를 열고 디렉토리의 모든 파일 이름을 인쇄하려고하지만 시스템에서 -f 명령이 작동하지 않습니다. 프로그램은 다음과 같습니다 :Perl의 -f 명령이 내 시스템에서 작동하지 않습니다.

enter code here 

$directory = '\Users'; 
opendir(DIR, $directory) or die $!; 
while ($file = readdir(DIR)){ 
    if(-f $file){ 
     print "$file\n"; 
    } 
} 
closedir(DIR); 

아무도 나에게 무엇이 잘못 됐는지 말해 줄 수 있습니까? 미리 감사드립니다.

답변

3

파일의 경로가 누락되었습니다.

if(-f "$directory/$file") { 
+0

감사합니다. – Anmol

+0

@Anmol : 답변으로 문제가 해결되면 허용되는 답변으로 표시해야합니다. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

+0

@ Chankey : 좋아, 좋아. – Anmol

1

당신은 전체 경로 이름으로 테스트해야합니다 :

그것은이 같은해야한다. $file에는 파일 이름 만 들어 있습니다.

if (-f "$directory\\$file"){ 
    print "$file\n"; 
} 
관련 문제