作者DarkKiller (System hacked)
看板perl
标题Re: [问题] SELECT()?
时间Wed Sep 19 12:50:53 2007
※ 引述《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