这是出于调试目的。我有一个for循环,可以为Cygwin bash的CLI生成一些输出。
我知道我可以将输出重定向到文本文件并使用Perl甚至只是普通的文本编辑器来检查为特定迭代打印出的值,只是感觉有点痛苦。
我现在想的是,在for循环中放置一个特殊的子程序,以便在每次迭代开始时“中断”,并且只有在用户/程序员点击一个键后才能恢复运行Perl脚本(从键盘输入键?)
通过这种方式,我可以直接检查每次迭代中打印出的值。
有没有一种简单的方法可以做到这一点,而不使用额外的库/ CPAN?
答案 0 :(得分:5)
如果您只是想在每次迭代时暂停用户输入,那么只需在循环中读取STDIN:
my $debug = 1;
while ($looping) {
if ( $debug ) {
print "Press enter to continue\n";
$input = <>;
}
}
如果设置了调试标志,则程序将暂停直到用户按下Enter键,然后循环将恢复。您可以在暂停前打印变量。设置$debug = 0
以禁用暂停。