Perl打印不正确

前端之家收集整理的这篇文章主要介绍了Perl打印不正确前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好的,所以我有一些类似于你在下面看到的子程序,我的问题是打印功能在实际命令完成之前没有打印出来,我希望它打印
“有MysqL,安装:”,然后执行命令然后打印确定.我已经尝试过使用sleep并尝试清除$ssh_d对象.任何建议表示赞赏不要担心这个特定子中的变量,这个问题一直在发生.多谢你们.
if ($MysqL)
{
    print "Has MysqL,Installing: ";
    $MysqLCmd = "/path/to/script/MysqL-install.pl $person > /dev/null 2>&1";
    $ssh_d->cmd("$MysqLCmd");
    print "OK\n";
}

解决方法

STDOUT通常是行缓冲的,因此在打印换行符之前不会看到输出.您可以在打印前设置 $|以强制打印输出.

要在每次打印后打开自动清洗,请设置$|到1:

$| = 1;
print "Enter a number between 3 and 5: ";
chomp( my $answer = <STDIN> );

(请注意,$|实际上不是单个值,它会针对每个文件句柄单独跟踪.设置时,它会影响当前所选文件句柄的设置(请参阅select).

猜你在找的Perl相关文章