社区
脚本语言
帖子详情
PERL如何强制输出??
suyupin
2005-03-24 01:40:40
PERL如何强制输出??类似与C/C++ 的fflush()函数的?
...全文
213
6
打赏
收藏
PERL如何强制输出??
PERL如何强制输出??类似与C/C++ 的fflush()函数的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
讲师? “
Perl
”这个词表示什么意思? Larry为什么要创造
Perl
? Larry干吗不用其他语言?
Perl
算容易,还是算难?
Perl
怎么会这么流行? 现在的
Perl
发展得怎么样了? 哪些事情最适合用
Perl
来做? 哪些事情不适合用
Perl
来做? 如何取得
Perl
? CPAN是什么? 如何得到
Perl
的技术支持? 还有别的技术支持方式吗? 如果发现
Perl
有bug,我该怎么办? 我该怎么编写
Perl
程序? 一个简单的程序 程序里写的是什么? 我该如何编译
Perl
程序? 走马观花 习题 第二章标量数据 数字 所有数字的内部格式都相同 浮点数直接量 整数直接量 非+进制整数的直接量 数字操作符 字符串 单引号内的字符串直接量 双引号内的字符串直接量 字符串操作符 数字与字符串之间的自动转换
Perl
的内置警告信息 标量变量 给变量取个好名字 标量的赋值 双目赋值操作符 用print
输出
结果 字符串中的标量变量内插 借助代码点创建字符 操作符的优先级与结合性 比较操作符 if控制结构 布尔值 获取用户输入 chomp操作符 while控制结构 undef值 defined函数 习题 第三章列表与数组 访问数组中的元素 特殊的数组索引 列表直接量 qw简写 列表的赋值 pop和push操作符 shift和unshift操作符 splice操作符 字符串中的数组内插 foreach控制结构
Perl
最喜欢用的默认变量:$_ reverse操作符 sort操作符 each操作符 标量上下文与列表上下文 在标量上下文中使用产生列表的表达式 在列表上下文中使用产生标量的表达式
强制
指定标量上下文 列表上下文中的 习题 第四章子程序 定义子程序 调用子程序 返回值 参数 子程序中的私有变量 变长参数列表 改进的&max子程序 空参数列表 关于词法(my)变量 use strict编译指令 return操作符 省略与号 非标量返回值 持久化私有变量 习题 第五章输入与
输出
读取标准输入 来自钻石操作符的输入 调用参数
输出
到标准
输出
JNprintf格式化
输出
数组和printf 文件句柄 打开文件句柄 以二进制方式读写文件句柄 有问题的文件句柄 关闭文件句柄 用die处理致命错误 用warn
输出
警告信息 自动检测致命错误 使用文件句柄 改变默认的文件
输出
句柄 重新打开标准文件句柄 用say来
输出
…… 第六章哈希 第七章漫游正则表达式王国 第八章用正则表达式进行匹配 第九章用正则表达式处理文本 第十章其他控制结构 第十一章
Perl
模块 第十二章文件测试 第十三章目录操作 第十四章字符串与排序 第十五章智能匹配与given—when结构 第十六章进程管理 第十七章高级
Perl
技巧 附录
perl
强制
输出
% 百分号
#我的问题是,原文件中含有%,
perl
处理后,需要将源文件的百分号原样
输出
#如果不做处理,% b, % n,% t这些都会被认为成格式符或功能性字符 #简单处理如下 while (){ chomp; ~s/\%/\%\%/g; $line=$_; printf OUT "$line\n"; }
Perl
(十六)
输出
和
输出
(一)
文件描述符 一 读取标准
输出
(1)<STDIN> <STDIN>: '行输入操作符',实际是'针对文件句柄'的'行输入操作符' ① 标量上下文 特点: 返回'输入数据的下一行',以'\n换行符-->键盘Enter按钮'结束 '标量'上下文: 遇到'换行符号'结束 ② 列表上下文 特点: 返回所有'剩下的行',直到'文件结尾'为止 键盘 --> 'ctrl+d' --> 'eof-->end of file' --&...
perl
强制
覆盖拷贝文件
如果拷贝成功,cp函数将返回真值(通常是1),并打印 “File copied successfully.” 的消息。然后,我们指定了原始文件和目标文件的路径,并调用cp函数来进行
强制
覆盖拷贝操作。如果你想在
Perl
中进行文件拷贝时
强制
覆盖目标文件(如果目标文件已经存在),你可以使用标准模块File::Copy提供的cp函数,它允许你指定是否覆盖目标文件。请注意,在使用cp函数时,确保目标文件的路径(path/to/destination/file.txt)是有效的,以免不小心覆盖其他重要文件。
Perl
语言入门(中文版)(第6版) 东南大学出版社
第一章简介问题与答案这本书适合你吗?为何有这么多的脚注?关于习题和解答?习题前标的数字是什么意思?如果我是
Perl
讲师?“
Perl
”这个词表示什么意思?Larry为什么要创造
Perl
?Larry干吗不用其他语言?
Perl
算容易,还是算难?
Perl
怎么会这么流行?现在的
Perl
发展得怎么样了?哪些事情最适合用
Perl
来做?哪些事情不适合用
Perl
来做?如何取得Per...
脚本语言
37,743
社区成员
34,211
社区内容
发帖
与我相关
我的任务
脚本语言
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写文章