在Perl中读取用户的输入时,如何让Perl不显示“Terminating on signal SIGINT(2)”?

时间:2012-08-31 17:32:38

标签: perl input io

我是Perl的新手,目前我正在使用ActiveState Perl在Windows 7上学习它。这是我的计划。

chomp(my @lines = <STDIN>);

foreach (sort @lines) {
    print $_;
}

运行程序时,我键入一些字符串行,然后按 Ctrl + c 告诉程序我已完成输入。但是,在我得到我的结果(从print $_;生成)之后,我也得到了这样的信息:终止信号SIGINT(2)。如何禁用此消息?

感谢。

3 个答案:

答案 0 :(得分:4)

对于Windows,要表示行结束,请按Ctrl + Z,然后按Enter

Ctrl + C会向您的程序发送中断信号,这是您看到的Terminating on SIGINT消息的原因。

答案 1 :(得分:1)

在Linux中,按 ctrl + D (EOF)而不是 ctrl + C

答案 2 :(得分:0)

你可以处理这样的信号:

$SIG{INT} = sub { print("Caught SIGINT but continue!\n"); };

键盘中断。这是一个例子。