Perl:在while循环中睡眠没有引起任何反应

Perl:在while循环中睡眠没有引起任何反应,第1张

概述我是Perl的新手.我在一个while循环中写了一个sleep;这是一个非常简单的代码但是没有用. furstruted … use strict;use warnings;&main();sub main(){print "hello\n";while(1) # #1{ print "go~ "; sleep 我是Perl的新手.我在一个while循环中写了一个sleep;这是一个非常简单的代码但是没有用. furstruted …

use strict;use warnings;&main();sub main(){print "hello\n";while(1)                    # #1{         print "go~  ";      sleep 2;      }}

如果注释掉#1,则打印“go~”;否则,它只是等待没有任何“去〜”打印.
我的目的是定期做一些事情.

任何人都可以给出一些解释/提示吗?

解决方法 go~后尝试添加新行

use strict;    use warnings;    &main();    sub main()    {    print "hello\n";    while(1)                    # #1    {          print "go~\n";          sleep(2);    }    }

解释原因:
stdout流是缓冲的,因此只会在到达换行符后(或者告诉它时)显示缓冲区中的内容.您没有使用换行符,因此文本将被附加到缓冲区,直到缓冲区的大小.

如果您不想使用换行符,请在开头添加以下行

use IO::Handle;STDOUT->autoflush(1);
总结

以上是内存溢出为你收集整理的Perl:在while循环中睡眠没有引起任何反应全部内容,希望文章能够帮你解决Perl:在while循环中睡眠没有引起任何反应所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1262916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存