|
默认情况下,如果不指定文件句柄给print(或者printf,这里的内容对两者均适用),则默认会使用STDOUT。但这个默认属
性,可以通过select 操作进行更改。如下:
select BEDROCK;
print “I hope Mr. Slate doesn’t find out about this.\n”;
print “Wilma!\n”;
一旦选择了(select)了某个文件句柄,则它将变成默认值。但这通常是一个坏主意,因为会扰乱程序的剩余部分,因此在完
成时应当恢复以前的设置◆。默认情况,输出到文件句柄的内容会被缓存起来。将变量$|设置为1,将会在输出操作结束
时会立刻清空文件句柄。如果想确保logfile 能立刻得到消息,以便能观察程序的运行情况,可以使用下面的程序:
◆在少数情况下,STDOUT 不是默认的文件句柄,可以在perlfunc 的帮助手册中找到相关的设置和重置信息。虽然已经告诉你了相关的帮助
手册,还有一点需要说的是:Perl 有两个内嵌的select 函数,均可在perlfunc 的帮助手册中找到。另一个select 函数有四参数,因此有时
被称为“四参数的select”
select LOG;
$| = 1; #don’t keep LOG entries sitting in the buffer
select STDOUT;
#...time passes, babies learn to work, tectonic plates shift, and then … .
print LOG “This gets written to the LOG at once!\n” |
|