Я пишу Perl-программу, которая отправляет и получает сообщения от двух сокетов и действует как коммутатор. Я должен изменить полученные сообщения, полученные из одного сокета, добавить 3 байта к данным и, наконец, отправить измененные сообщения в другой сокет. Я использую механизм select () ... sysread () ... syswrite () для опроса сообщений между сокетами. Полученные сообщения сохраняются в буфере $ во время модификации.
Теперь я могу использовать следующий способ получения полученных сообщений:
my $hexmsg = unpack("H*", $buffer);
my @msg = ( $hexmsg =~ m/../g );
тогда я могу вставить 3 байта в @msg. Однако я не знаю, как упаковать сообщение в @msg в скаляр (например, $ buffer) и отправить его в другой сокет с помощью syswrite (). Кто-нибудь может мне помочь? Заранее спасибо!
Кстати, сообщения в двоичном буфере $?