Как отправить Ctrl-Z в Perl

Я пытаюсь отправить команду Ctrl-Z в строке, вот что я делаю:

$command = "Prueba de código\26";
$port->write($command);
my $answer = $port->read(255);

Где «команда» — это строка, которую я хочу отправить через «порт» (Device::SerialPort), и я пытаюсь получить ответ с помощью «ответа», проблема в том, что я думаю, что \26 ( Ctrl-Z) не работает. Порт - это подключенный сотовый телефон, и цель состоит в том, чтобы отправить через этот телефон SMS-сообщение с текстом "Prueba de código". Мне нужно, чтобы этот Ctrl-Z был отправлен, потому что это интерпретируется как конец текста.


person antalbokor    schedule 21.07.2013    source источник


Ответы (1)


Нотация \nnn обрабатывает числовые аргументы как восьмеричные цифры, поэтому вы действительно отправляете chr(22) (Ctrl+V?)

$ perl -e 'print ord("\26")'
22

Символ 26 может быть выражен всеми этими способами (и, вероятно, некоторыми другими)

chr(26)
"\032"
"\x1a"
"\cZ"
person mob    schedule 21.07.2013