如何通过用户按键来中断或恢复Perl循环?

时间:2010-05-24 06:06:18

标签: perl

这是出于调试目的。我有一个for循环,可以为Cygwin bash的CLI生成一些输出。

我知道我可以将输出重定向到文本文件并使用Perl甚至只是普通的文本编辑器来检查为特定迭代打印出的值,只是感觉有点痛苦。

我现在想的是,在for循环中放置一个特殊的子程序,以便在每次迭代开始时“中断”,并且只有在用户/程序员点击一个键后才能恢复运行Perl脚本(从键盘输入键?)

通过这种方式,我可以直接检查每次迭代中打印出的值。

有没有一种简单的方法可以做到这一点,而不使用额外的库/ CPAN?

1 个答案:

答案 0 :(得分:5)

如果您只是想在每次迭代时暂停用户输入,那么只需在循环中读取STDIN:

my $debug = 1;
while ($looping) {
    if ( $debug ) {
        print "Press enter to continue\n";
        $input = <>;
    }
}

如果设置了调试标志,则程序将暂停直到用户按下Enter键,然后循环将恢复。您可以在暂停前打印变量。设置$debug = 0以禁用暂停。