免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2285 | 回复: 7
打印 上一主题 下一主题

请教perl中 $| 的含义和用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-25 16:41 |只看该作者 |倒序浏览
请教一下,在perl 中,经常看到有“ $|  ”  
我不明白 $|  这个变量有什么作用,对他的操作会造成程序什么样的后果?在什么情况下使用这个变量?
请高手给讲解一下,谢谢啦!

论坛徽章:
0
2 [报告]
发表于 2005-01-25 17:40 |只看该作者

请教perl中 $| 的含义和用法

我找到一个解释,但是不知道怎么用,还是需要高手讲解一下。

$AUTOFLUSH,或$OUTPUT_AUTOFLUSH,输出缓冲区开关,默认为0,即关

论坛徽章:
0
3 [报告]
发表于 2005-01-26 09:21 |只看该作者

请教perl中 $| 的含义和用法

就是一个刷新缓冲的开关,在一些socket的应用中,当一方向另一方输出的时候默认的如果不将此开关打开,那么必须等到缓冲区满了的时候才送出,如果一直没满的话对方就一直接受不到此信息,而当开关打开是遇到换行符 就将信息刷新送出

论坛徽章:
0
4 [报告]
发表于 2005-01-26 10:44 |只看该作者

请教perl中 $| 的含义和用法

请问,是只用于socket的应用中吗?
另外 $|++   这种用法是做什么操作呢?对缓冲区中的数据进行自增运算吗?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2005-01-26 13:21 |只看该作者

请教perl中 $| 的含义和用法

$| 会影响所有的和流相关的操作。不光是 socket。

$| 默认是等于 0 的,
所以 $|++ 和 $| = 1; 的效果是相同的,都是让 $| 的值变为 1。
不过 $|++ 这种写法本人以为不可取。

论坛徽章:
0
6 [报告]
发表于 2005-01-26 14:04 |只看该作者

请教perl中 $| 的含义和用法

谢谢。
能否请讲解一下 “$|++ 这种写法本人以为不可取“ 的原因可以吗?

另外我听说,使用了$| ,那么在输出到文件的时候,可以直接写入,不用等待。但是我在freebsd下调试,却达不到这种效果。是不是需要设置什么呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2005-01-26 23:44 |只看该作者

请教perl中 $| 的含义和用法

$|++; 對初學者來說..很容易混淆...
因為只要非0 都會open autoflush...:)
其實只要知道他的意義..用$|++;也無妨...
你要open file...
得用
$filehandle->;autoflush(1);
才能開啟..
$|只對STDIN有作用...

论坛徽章:
0
8 [报告]
发表于 2005-01-27 10:42 |只看该作者

请教perl中 $| 的含义和用法

谢谢!:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP