%SIG
ハッシュに対してサブルーチンの名前を登録すると、そのサブルーチンがシグナルハンドラとして呼び出されるようになります。
次の例では、SIGINT
シグナルに対するシグナルハンドラを設定しています。
sub sigint_handler {
print "SIGINT\n";
}
$SIG{'INT'} = 'sigint_handler';
一般的なシェルで Ctrl-C を入力すると、プロセスに対して SIGINT
が送られるようになっています。
デフォルトでは、SIGINT
を受信したプロセスは終了するようになっていますが、上記のようにシグナルハンドラを登録しておけば、代替の処理を行えるようになります。