这篇文章给大家分享的是有关如何解决Perl在程序运行过程中重新开启标准输入的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在甘井子等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、做网站 网站设计制作按需策划设计,公司网站建设,企业网站建设,高端网站设计,全网整合营销推广,成都外贸网站建设,甘井子网站建设费用合理。
遇见问题是,如何程序运行的时候已经将标准输入使用”<“符号或者”|“符合在命令行定向为一个文件。
可是在程序的运行过程中希望从键盘得到输入内容。
因为/dev/tty为当前进程的控制台,STDIN
为当前的标准输入. 如果重定向,例如:
perl script.pl
STDIN
被指向myfile.txt
, 但是/dev/tty
仍然来自于控制终端。所有的Unix都是这样,不单单是指这个perl。那么解决方案:
#!/usr/bin/perl -w use strict; $| = 1; my $stream; while (<>) { $stream .= $_; } open STDIN, "/dev/tty" or die; print "Do you want to process the stream? "; my $ans =; chomp $ans; print "Got '$ans'\n"; print "stream = $stream"; #... exit; __END__ 测试:
$ echo foo | ./stdin Do you want to process the stream? yes Got 'yes' stream = foo发现标准输入重新指向键盘。问题解决。
感谢各位的阅读!关于“如何解决Perl在程序运行过程中重新开启标准输入的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
分享标题:如何解决Perl在程序运行过程中重新开启标准输入的问题
转载源于:http://njwzjz.com/article/jpjpip.html