0

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

我正在使用 Windows 电脑。

这是我的代码:

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";
        }
       }
     }
   }
  } 

}
4

1 回答 1

2

open子句中,给出文件的完整路径:

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

并更好地使用 3 arg 打开和词法文件处理程序:

open(my $FH, '<', "$dir_01/$dir_02/$file") or die "can not open the file $!\n"; 
于 2013-05-27T11:34:32.617 回答