2015-12-28 25 views
-1

我有一個perl代碼,基本上打開一個文件,閱讀並打印它,但由於某種原因,當我運行它,我似乎無法得到任何輸出或任何錯誤,我不知道爲什麼。似乎無法得到一個輸出,我不知道爲什麼

這裏是我的代碼:

#!usr/bin/perl 

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

這不應該阻止它的工作 - 它默認閱讀。 – Sobrique

+4

'open()或者die $!'應該告訴你一些東西......另外,'use strict'和'use warnings'會很有用。 –

+0

@Sobrique嗯有趣,我不知道。我假設有一個錯誤,那麼'!或死「$!」'會顯示。 –

回答

4

這就是爲什麼你需要做兩兩件事:在你的代碼的開始

  • 使use strict;use warnings;
  • 查看返回碼open

我也建議3精氨酸開放大大優先於使用默認:

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; 

我懷疑它會告訴你無論是「沒有這樣的文件或目錄」或「權限被拒絕」。

+0

是的,它確實說沒有這樣的文件或目錄,不知道爲什麼 – DBaculio

+0

我要猜測該文件不存在。但它可能是一個不正確的拼寫(或大小寫) – Sobrique

+0

我將文件拖入終端以確保我獲得了/ home/osboxes/Documents/syslog'的文件路徑,仍然是相同的錯誤,但現在它包含readline()on打開(my $ info,'<',$ syslogFile)或者死亡$ !;「 – DBaculio

相關問題