[Moscow.pm] unpack

Ivan Petrov i.petro.77.00 на gmail.com
Вт Фев 7 03:41:54 PST 2012


в некоторых случаях нельзя составить полное выражение для unpack и
приходится итеративно вытаскивать данные.

например 

$str = unpack 'L / a*', $data;

заберет строку из начала $data и потом можно будет сделать 
substr $data, 0, length $str + 4, '';

и продолжить изымать данные из $data следующими итерациями unpack.

однако если например мы вынимаем две-три-N строк одним выражением, а
так же используем выражения вроде 'w / a*', то посчитать общую длину
того что мы вынули становится довольно накладно, а в некоторых случаях
и получается что надо pack сделать чтобы понять какая длина была в
упакованном виде (как например в случаях с 'w').

Вопрос: можно как-то решать эти проблемы не упаковывая обратно все?


Подробная информация о списке рассылки Moscow-pm