2

私はPerlを初めて使用し、現在ActiveStatePerlを使用してWindows7で学習しています。これが私のプログラムです。

chomp(my @lines = <STDIN>);

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

Ctrlプログラムを実行しているときに、文字列を数行入力してから+を押しcて、入力が終了したことをプログラムに通知します。ただし、(から生成されたprint $_;)結果を取得した後、次のメッセージも表示されます:シグナル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)を押します。ctrlC

于 2012-08-31T17:35:40.407 に答える
0

次のようなシグナルを処理できます。

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

キーボード割り込み用。それは例です。

于 2012-08-31T17:51:13.780 に答える