|Pathologically Eclectic Rubbish Lister|
unpack into arrayrefs?by Anonymous Monk
|on Feb 22, 2022 at 16:00 UTC||Need Help??|
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Sorry. I'll try that again.
I am parsing binary data with unpack. The binary data consists of segments of six bytes. There are hundreds of such six-byte datums stored in a single binary string.
The binary data looks something like this:
I can do unpack("(CCSS)*", $data); and it will output an array like: [0,0,3619,187,0,0,3627,206,0,0,3635,226]
However, I would like it to output an array like: [[0,0,3619,187],[0,0,3627,206],[0,0,3635,226]]
i.e. so that each of the six-byte segments form an arrayref of their own.
I read the venerable node 539664 but was none the wiser.
Can unpack() do this or do I need to just loop over the string with substr() and unpack one segment at a time?
I hope this question was clear enough; it's been a long time since I've asked anything.