读取文件时没有输出任何内容

时间:2013-05-27 11:05:02

标签: perl

我正在尝试从其他目录中读取文件,对我来说,每件事看起来都不错,但不幸的是我既没有得到任何错误也没有任何输出。

我正在开发Windows PC。

这是我的代码:

use strict;
use warnings;

use Cwd;

#chdir('C:\\APTscripts\\APStress\\Logs');
chdir('C:\\Mahi_doc\\Apstress_logs');
my ($dir_01,$dir_02);
my @FILES;
$dir_01 = getcwd;

#print "$dir\n";
opendir(DIR_01, $dir_01) ;
@FILES=readdir(DIR_01);
close(DIR_01);
my $count=12;
my $lines;
for my $dir_02 (@FILES)
{
  #print"$dir_02\n";

 if ( -d $dir_02)
 {
opendir (DIR_02, "$dir_01"."/"."$dir_02") ;
 while(our $file = readdir(DIR_02))
  {
    if($file =~ /APStress.*UIlog/g)
     {
     #  print"$file\n";
       open(FH,$file) or die "can not open the file $!\n"; 
        while (defined(my $lines = <FH>))
        { 
        print"$lines\n";
        if($lines=~ m/WATCHDOG/ || $lines=~ m/Excessive JNI/gi )
        {#chks for watchdog/excessive jni issue exist
          print "Got it\n";
        }
        elsif($lines=~ m/installd: eof/gi)
        {
            print "EOF:Got it  \n";
        }
       }
     }
   }
  } 

}

1 个答案:

答案 0 :(得分:2)

open子句中,提供文件的完整路径:

open(FH, "$dir_01/$dir_02/$file") or die "can not open the file $!\n"; 

并且最好使用3 arg open和lexical文件处理程序:

open(my $FH, '<', "$dir_01/$dir_02/$file") or die "can not open the file $!\n";