似乎无法获得输出,我不知道为什么

时间:2015-12-28 21:21:25

标签: perl

我有一个perl代码,它基本上打开一个文件,读取它然后打印它但是出于某种原因,当我运行它时,我似乎无法获得任何输出或任何错误而且我不会#39不知道为什么。

这是我的代码:

#!usr/bin/perl

$syslogFile = '/Home/osboxes/Documents/syslog';
open(INFO, $syslogFile);
@lines = <INFO>;
close(INFO);
print @lines;

1 个答案:

答案 0 :(得分:4)

这就是为什么你需要做两件事:

  • 在代码开头启用use strict; use warnings;
  • 检查open的返回代码。

我还建议使用默认的3 arg open:

open ( my $input, '<', $syslogfile ) or die $!; 

最后 - 仔细检查该文件是否包含您期望的内容。例如。它不是空的。

这样的事情:

#!/usr/bin/env perl
use strict;
use warnings;

my $syslogFile = '/Home/osboxes/Documents/syslog';
open(my $info, '<', $syslogFile) or die $!; 
my @lines = <$info>;
close($info) or warn $!;
print @lines;

我怀疑它会告诉你“没有这样的文件或目录”或“权限被拒绝”。