Parse::Binary::Nested: simple non-OO unpackf Make the unpackf method callable without an object, taking a template array instead. This turns it into a simple superset of CORE::unpack() for most usage. The object-oriented syntax is still supported for reusable parsing (saves reparsing the template on each call, so should also be slightly faster).
Parse::Binary::Nested: track parsed bytes Reparse template values ourself, in order to: - Put multiple data in a single value (for example 'CC' will return an array with the two bytes, instead of screwing up all following elements); - Know the amount of bytes read, allowing the current position to be returned by the special '=.' declaration. Also, the special case 'Ca$NUM' is now to be given as 'C/a$NUM'. This solution should be much better (logically combines C/a and a$NUM) and unambiguous (this syntax is invalid with CORE::unpack, so no unexpected results).
parse-wormedit: declare hardcoded bytes in unpackf template Recognise a new template value '=$N' (where $N is any number) in Parse::Binary::Nested to insert a hardcoded value instead of reading it. This allows object structures of v90 files without type declarations to be returned in the same format as newer versions. Still requires some custom merging of the multiple arrays afterwards, but this may be solved later on.
parse-wormedit: seperate parsing module Parse::Binary::Nested Make the package a (mostly) stand-alone include, potientially reusable by other projects, but primarily keeping it more maintainable (uncluttered code, testable, and allowing futher modularisation of file parsers).