Forum Webscript.Ru
Программирование => Perl => Тема начата: gor от 28 Октября 2004, 10:05:26
-
Формирую некий двоичный пакет с разными данными следующим образом:
$packet = pack("C",hex FF).pack("L",$time);
$packet .= pack ("a4",inet_aton($shost));
$packet .= pack ("a4",inet_aton($dhost));
$packet .= pack ("I2",$sport,$dport);
В общем, неважно что там внутри, я просто хотел показать, что данные там разнородные.
Так вот.
Как мне перед отправкой этого пакета проверить каждый байт на равенство "FF"? Мне нужно каждый байт "FF" дополнить до двух байт - "FFFF".
-
Простите, господа, переволновался :)
Сделал так:
@klop = unpack ("C26",$packet);
for ($i=0;$i<26;$i++) {
$msg .= ($klop[$i]==255)?
(pack("C",hex FF).pack("C",hex FF)):
(pack("C",$klop[$i]));
}