2016-05-03 76 views
-1

我是perl的新手,需要一些幫助。我有兩個文本文件,我試圖讀取。我不明白我需要放置這些文件以便能夠通過代碼訪問它們。如果有人會讓我走過那些很棒的步驟。我使用的是Windows 8,notepad ++是我的文本編輯器,我正在執行命令提示符下的所有內容。請不要給我一個荒謬的技術答案。爲我而啞!謝謝!如何設置要在perl中讀取的文件

my $file = 'filename.txt'; 
open my $info, $file or die "could not open this $file"; 
+0

檢查[什麼是路徑?](https://en.wikipedia.org/wiki/Path_(計算))和[Perl 101 - 使用文件](http: //perl101.org/files.html) – eballes

回答

0

如果您只是使用「filename.txt」作爲文件名,則該文件應與您的程序位於同一文件夾中。

您的語法錯誤。它應該是

my $file = 'filename.txt'; 
open(my $filehandle, "<", $file) or die "Could not open file $file. Error: $!"; 

打開文件後,請記住有不同的閱讀方式。有時你可能想要讀它在一個時間線,在這種情況下,語法將是這樣的:

while (my $line = <$filehandle>) { 
    chomp $line; 
    print "$line\n"; 
} 

有時你可能想要將整個文件讀入一個變量,在這種情況下,語法會是這樣的:

my $file = "filename.txt"; 
my $document = do { 
    local $/ = undef; 
    open my $filehandle, "<", $file 
     or die "could not open $file: $!"; 
    <$filehandle>; 
}; 

(見this question獲取更多信息)

儘管可用信息的量,看似當你學習一種新的語言像這樣簡單的事情,可能是令人沮喪的。如果你堅持使用Perl,你將不會後悔。請記住Perl的格言:TMTOWTDI :-)

+2

弗蘭克,很好地說。 Cody,我會在這裏留給你:http://perldoc.perl.org/perlopentut.html(我想你會發現值得20分鐘的時間來更好地理解perl如何處理文件。) – jgreve

+1

迂迴,如果你只是使用'filename.txt',那麼該文件應該在當時的當前目錄中。這可能與程序目錄相同,但不能保證。 –