http://qs321.pair.com?node_id=24127

Q&A > strings > What is the best way to parse a 488 byte record? - Answer contributed by lhoward

The best way is probably with unpack. See the Fixed-Length Fields Question discussion.
@result = unpack "A16A20A20AA8",$input;