社区
脚本语言
帖子详情
PERL如何强制输出??
suyupin
2005-03-24 01:40:40
PERL如何强制输出??类似与C/C++ 的fflush()函数的?
...全文
254
6
打赏
收藏
PERL如何强制输出??
PERL如何强制输出??类似与C/C++ 的fflush()函数的?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyzxyz1111
2005-03-24
打赏
举报
回复
我觉得fflush的作用不在于想实时输出,而是什么时候调用fflush,就可以输出,也许是凑上一堆再输出。也许是一个字符就输出,之类的。而实时输出显然只是要求每个字符都输出。
chenshibing
2005-03-24
打赏
举报
回复
没懂楼主的意思
如果是像楼上那样只要实时输出的话不是只要
$|=1;
就可以了么
xyzxyz1111
2005-03-24
打赏
举报
回复
oops
第2个代码段应该为
print "abc";
flock(STDOUT, LOCK_EX); #lock
flock(STDOUT, LOCK_UN); #unlock
sleep 5;
print "def\n";
xyzxyz1111
2005-03-24
打赏
举报
回复
print 一般是把字符串放到缓冲区中,只有遇到\n等符号的时候才会输出。强制输出世纪上就是把缓冲区中的符号在还没有遇到\n的时候就输出。
我在perl的文档里找了一会,发现有这么一句
To avoid the possibility of miscoordination, Perl now flushes FILEHANDLE before locking or unlocking it.
所以可以用flock来实现
对比一下代码
#没有强制输出的
print "abc";
sleep 5;
print "def\n";
#使用强制输出的
print "abc";
sleep 5;
flock(STDOUT, LOCK_EX); #lock
flock(STDOUT, LOCK_UN); #unlock
print "def\n";
第一个abc在停止5秒后才同def一起打印出来, 而第二个abc则在停止之前就打印出来了,从而实现了fflush的功能。
bulala
2005-03-24
打赏
举报
回复
你可以使用 print STDOUT """;
print STDERR "";等
winter_sui
2005-03-24
打赏
举报
回复
强制输出??什么意思,是想把命令的结果显示出来么?
#!/usr/bin/perl -w
`ls`;
比如这个程序,正常来说ls是有输出的,可是由于perl的机制,他屏蔽了标准输出。所以运行后我们是什么一看不到的。
解决办法:把标准输出重定向到标准错误上。
#!/usr/bin/perl -w
`ls 1>&2`;
perl
强制
输出
% 百分号
#我的问题是,原文件中含有%,
perl
处理后,需要将源文件的百分号原样
输出
#如果不做处理,% b, % n,% t这些都会被认为成格式符或功能性字符 #简单处理如下 while (){ chomp; ~s/\%/\%\%/g; $line=$_; printf OUT "$line\n"; }
Perl
原格式
输出
print OUT << “EOF“
Perl
大骆驼书的“此处”文档一节对原格式
输出
有详细介绍。 如果我们想
输出
一大段的内容,我们就可以用原格式
输出
的语法来实现。 #!/usr/bin/
perl
open OUT, ">AO21.vec" or die $!; $A1=0; $A2=0; $B1=0; $count=0; @value=qw(0 1); print OUT << "END"; radix 1 1 1 1 vname A1 A2 B
Perl
Learning (5) —— 输入与
输出
I/O问题
perl
学习日记5输入与
输出
1. 输入与
输出
1.1 从标准输入设备输入
由于,行输入操作在到达文件的结尾时将返回undef,这对于从循环退出时非常方便的:
while (defined($line =
)) {
print “I saw $line”;
}
可以这样简写:
while(
){
print “I saw $_”;
}
下面这个东西和上面表面上没有区别,实际上它是先得到列表的所有元
solaris
perl
print不
输出
_终端进度条的实现方法[
perl
实现]
实现终端进度条主要是依靠 r符能将光标移动到行首的能力,下面我们来一步一步的来实现一个终端进度条.下面的
perl
脚本不出意外会
输出
Hello World#!/usr/bin/
perl
use strict; use warnings; print "Hello World";现在用 r将光标设置到行首#!/usr/bin/
perl
use strict; use warnings; pr...
脚本语言
37,737
社区成员
34,208
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章