2

我对 Perl 很陌生,目前我正在使用 ActiveState Perl 在 Windows 7 上学习它。这是我的程序。

chomp(my @lines = <STDIN>);

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

运行程序时,我输入几行字符串,然后按Ctrl+c告诉程序我已经完成输入。但是,在我得到结果(从 生成print $_;)之后,我也收到了这条消息:Terminating on signal SIGINT(2)。如何禁用此消息?

谢谢。

4

3 回答 3

4

对于 Windows,表示行尾,Ctrl + Z然后按Enter

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

于 2012-08-31T17:35:20.470 回答
1

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

于 2012-08-31T17:35:40.407 回答
0

你可以处理这样的信号:

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

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

于 2012-08-31T17:51:13.780 回答