Re: [問題] SELECT()?
※ 引述《pttask (批踢踢.問.XD)》之銘言:
: 假若運用Perl寫好一個執行資料處理程式
: 程式處理過程之中會帶一些資訊print於螢幕上(也就是STDOUT)
: 一方面也方便確認程式執行進行到何處,一方面也方便查看一些相關訊息
: 比如說程式中會印出 [MESSAGE] : The PTT_Perl File is already exists 這行文字
: 但是今天我想將這些訊息可以顯示於螢幕之中"又同時寫入一個log檔供人參考"
: 我該怎麼做比較好 ?
: 我剛摸程式學的不多,只想到最差的方式就是
: 一開始 open LOG,">>logfile.txt";
: select(LOG);print "[MESSAGE] : The PTT_Perl File is already exists\n";
: select(STDOUT);print "[MESSAGE] : The PTT_Perl File is already exists\n";
: 不過這樣的話,程式之中需要PRINT的可能有數十行,這樣添加下去可能會錯亂...囧
: 不知道前輩是否有更好的建議呢 ?
: 煩請指教,感謝 :~)
比較好的方法是 Log::Dispatch 或是其他模組套件...
不過你既然剛開始學的話,先自己寫 function 練習吧?
sub mylog
{
my $str = shift;
print STDERR "$str\n";
print LOG "$str\n";
}
open LOG, "/var/log/mylog.log";
mylog("Hello, world.");
mylog("Hello, too.");
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.54.119
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):