2013-01-18 21 views
2

我正在從子程序輸出到Perl作爲書寫一個數組的輸出,新行

@ outputarray 

outputarray[0]=name ip port 
outputarray[1]=------------------------------------ 
outputarray[2]=http-listener-1 * 6712 
outputarray[3]=http-listener-2 * 4743 
...... etc 

我想創建一個新的文件,並寫入到文件log.txt的地方文件的內容看起來如下,並刪除文件log.txt如何在perl中實現這一點?

name ip port 
------------------------------------ 
http-listener-1 *  6712 
http-listener-2 *  4743 

感謝

+0

。張貼您迄今爲止的代碼。 – tuxuday

+1

你想寫入log.txt,然後刪除log.txt?聽起來多餘,你不覺得嗎? – TLP

+0

是的,我有一個更多的子程序來掃描端口,我將在那之後刪除它 – constantlearner

回答

5

如何打開文件和打印陣列,以它:

open my $fh, ">", "log.txt" or die $!; 
print $fh "$_\n" for @outputarray; 
close $fh; 

如何刪除該文件:

unlink "log.txt" or die $!; 

爲什麼你想第一打印然後刪除那個文件,我不知道。

+0

對不起,我是Perl的新手,你的第一行還創建了新文件? – constantlearner

+1

'>'是創建新文件的開放模式,是的。而且它也會覆蓋任何具有該名稱的舊文件。 – TLP

+0

我可以在哪裏獲得有關打印語句中使用的語法的更多信息?這對我來說很有意義,但作爲perl新手,我不知道你可以在打印聲明中使用它。 – jfoo