Я пытаюсь отправить шестнадцатеричный символ в сокет, чтобы указать новое сообщение. Этот код работает:
$socket->send("\x{0B}");
$socket->send($contents);
$socket->send("\x{1C}");
$socket->send("\x{0D}");
Однако, поскольку это происходит в цикле, мне нужны переменные шестнадцатеричные символы, и я не понимаю, как заставить его работать. Это то, что я пробовал.
my $start_char = get(); # returns, for example 0B
my $end_char = get(); # 1C
my $end_seg = get(); #0D
$socket->send("\x{$start_char}");
$socket->send($contents);
$socket->send("\x{$end_char}");
$socket->send("\x{$end_seg}");
Я могу проверить, что переменные, возвращаемые функцией, являются правильными на стороне perl, но сервер не принимает их как допустимые символы. Любой вклад в том, как это сделать?