2015-11-30 55 views
0

我剛剛創建了一個帶有一些信息的文本test.conf文件。我如何在Perl上閱讀它?
我是新來的Perl,我不是起訴我會需要做的。
我試過如下:如何在Perl中讀取.conf文件

C:\Perl\Perl_Project>perl 
#!/usr/local/bin/perl 
open (MYFILE, 'test.conf'); 
while (<MYFILE>) 
{ chomp; print "$_\n"; } 
close (MYFILE); 

我想在我的筆記本電腦有Windows 7操作系統安裝Perl,並且使用命令行。

+2

這是一個很大堅持在命令行上。把你在那裏的Perl程序放在一個文件中,並使用'c:\> perl MyPerlProgram.pl'運行它。另外,如果這是Windows,那麼shebang線對你來說並沒有什麼作用。 – Hambone

+0

其創建的test.conf文件.....其不test.pl 恐怕我沒有得到。 – userlearningpython

+0

結帳https://metacpan.org/pod/Config::Tiny – Miller

回答

2

而不是使用命令行,在文件中寫你的程序的(你可以使用任何編輯器來編寫程序,我會建議使用Notepad++)和myprogram.pl保存在你有你的.conf文件同一目錄下。

use warnings; 
use strict; 

open my $fh, "<", "test.conf" or die $!; 
while (<$fh>) 
{ 
    chomp; 
    print "$_\n"; 
} 
close $fh; 

現在打開一個命令提示符,並轉到你有你的這兩個文件myprogram.pltest.conf文件,並鍵入該執行程序相同的路徑:

perl myprogram.pl 

您可以充分您的輸入文件在程序內的路徑,並且可以從命令提示符的任何路徑通過給出程序的完整路徑運行您的程序:

perl path\to\myprogram.pl 

備註:總是在程序的頂部使用use warnings;use strict;,打開文件時總是使用帶有三個錯誤處理參數的詞法文件句柄。

1

這是一個擴展的評論比一個答案,因爲我相信@serenesat已經給你你需要執行你的程序的一切。

當你做「命令行」的Perl,這是典型的東西,是相對短暫的或微不足道的,如:

perl -e "print 2 ** 16" 

凡是超越了幾行字,你可能會更好過把該在一個文件中並讓Perl運行該文件。你當然可以可以把更大的程序放在命令行上,但是當涉及到重新編輯行時,它變得比快捷方式更麻煩。

而且,這是非常值得的-n-p參數允許您處理數據流中的內容,這意味着你可以做這樣的事情:

perl -ne "print if /oracle/i" test.conf