Как я могу перехватить Cntl-C при использовании Perl Term :: ShellUI? - PullRequest
3 голосов
/ 17 марта 2010

Я использовал Термин :: ShellUI и почти все работает как положено, но проблема в том, когда я нажал Ctrl-C, я хочу печать:

Пожалуйста, используйте Ctrl + D для выхода из оболочки

Для этого я обрабатываю сигнал, но сообщение печатается только после нажатия новой строки Как решить эту проблему?

1 Ответ

2 голосов
/ 17 марта 2010

Вы можете сделать то же самое, не используя библиотеку IO :: Handle, установив $ | перед печатью измените на 1.

$SIG{INT} = sub {
   $| = 1;
   print "Please use ctrl+d to exit the shell";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...