Perl Can';我似乎没有得到一个输出,我不知道为什么
我有一个perl代码,基本上打开一个文件,读取它,然后打印它,但由于某种原因,当我运行它时,我似乎无法得到任何输出或任何错误,我不知道为什么 这是我的密码:Perl Can';我似乎没有得到一个输出,我不知道为什么,perl,Perl,我有一个perl代码,基本上打开一个文件,读取它,然后打印它,但由于某种原因,当我运行它时,我似乎无法得到任何输出或任何错误,我不知道为什么 这是我的密码: #!usr/bin/perl $syslogFile = '/Home/osboxes/Documents/syslog'; open(INFO, $syslogFile); @lines = <INFO>; close(INFO); print @lines; #!usr/bin/perl $syslogFile='/Ho
#!usr/bin/perl
$syslogFile = '/Home/osboxes/Documents/syslog';
open(INFO, $syslogFile);
@lines = <INFO>;
close(INFO);
print @lines;
#!usr/bin/perl
$syslogFile='/Home/osbox/Documents/syslog';
打开(信息$syslogFile);
@行=;
关闭(信息);
打印@行;
这就是为什么您需要做两件事:
- 启用
严格使用代码>
使用警告代码>在代码的开头李>
- 检查
中的返回代码李>open
- 检查
open ( my $input, '<', $syslogfile ) or die $!;
open(我的$input,'不应该停止它的工作-它默认为read。open()或die$!
应该告诉你一些事情……而且,使用strict
和使用warnings
会很有用。@Sobrique-hmm有趣,我不知道。我假设有一个错误,然后或die“$!”
将显示。检查文件路径是的,它确实显示没有这样的文件或目录,不知道为什么我要猜测文件不存在。但可能是拼写错误(或大小写错误)我将文件拖到终端中,以确保文件路径为/home/osbox/Documents/syslog',仍然是相同的错误,但现在它在未打开的文件句柄上的“open(my$info),@dbaclio Filesystems on*nix”行包含readline()(我假设您使用的是基于脚本中的shebang)几乎总是区分大小写。/home/osboxes/Documents/syslog
与/home/osboxes/Documents/syslog
@ThisSuitesBlack不抱歉,忘了提到我尝试过home和home,但都出现了相同的错误。我也尝试过使用sudo,似乎syslog文件是我的问题,我正在努力工作现在就知道如何打开这个文件。
#!/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;