找回密码
 注册
查看: 2658|回复: 0

perl语言中改变默认的输出句柄

[复制链接]
发表于 2011-11-13 23:05:59 | 显示全部楼层 |阅读模式
默认情况下,如果不指定文件句柄给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”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-24 10:12 , Processed in 0.024252 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表