<div>Ну, как варианты:</div><div><br></div><div>1. my @bytes = map { ord($_) } split //, $data; # и тупо работает с байтами</div><div>2. Поищите готовый модуль для работы с вашими данным </div><div>2. Если все действительно так плохо, напишите XS</div>
<div><br></div><div>А с чем вы таким работаете, если не секрет?</div><div><br></div><div class="gmail_quote">7 февраля 2012 г. 15:41 пользователь Ivan Petrov <span dir="ltr"><<a href="mailto:i.petro.77.00@gmail.com">i.petro.77.00@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">в некоторых случаях нельзя составить полное выражение для unpack и<br>
приходится итеративно вытаскивать данные.<br>
<br>
например<br>
<br>
$str = unpack 'L / a*', $data;<br>
<br>
заберет строку из начала $data и потом можно будет сделать<br>
substr $data, 0, length $str + 4, '';<br>
<br>
и продолжить изымать данные из $data следующими итерациями unpack.<br>
<br>
однако если например мы вынимаем две-три-N строк одним выражением, а<br>
так же используем выражения вроде 'w / a*', то посчитать общую длину<br>
того что мы вынули становится довольно накладно, а в некоторых случаях<br>
и получается что надо pack сделать чтобы понять какая длина была в<br>
упакованном виде (как например в случаях с 'w').<br>
<br>
Вопрос: можно как-то решать эти проблемы не упаковывая обратно все?<br>
<span class="HOEnZb"><font color="#888888">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>С уважением, Александр<br>Личный блог: <a href="http://eax.me/" target="_blank">http://eax.me/</a><br>Мой форум: <a href="http://it-talk.org/" target="_blank">http://it-talk.org/</a><br>
Мой Twitter: <a href="http://twitter.com/afiskon" target="_blank">http://twitter.com/afiskon</a><br><br>