Revision history for Struct-Path 0.84 2019-07-10 - path() reworked: independent traverse implemented - R keys in HASH definitions in no longer supported 0.83 2018-12-15 - throw correct error for nonrefs in refstack - ref() calls reduced a bit - regexps supported in hash keys list, R key is deprecated now 0.82 2018-08-15 - craches fixed for expand out-of range negative array indexes - expand-append experimental subopt removed - expand lists smoothly for out of range negative indexes (experimental) - opts passed to hooks via %_ 0.81 2018-01-10 - path(): resolve negative array indexes in paths 0.80 2017-12-22 - hash definition format changed, exported subs renamed to avoid ambigouseness - path() now works with scalars as is (ref not required) - both changes are breaking back compatibility, sorry 0.74 2017-11-20 - entire thing replacement fixed in spath() 0.73 2017-11-03 - hooks supported in spath_delta() - hooks: set $_ to substructure pointed by current step - spelling corrected, cosmetics 0.72 2017-10-15 - spath(): sane errors for out of range negative array indexes - croak if empty path and delete opt passed to spath() 0.71 2017-06-27 - 'assign' opt to spath() added - grow arrays smoothly if 'append' for 'expand' specified in spath() (experimental) 0.70 2017-06-20 - slist() now returns path-ref pairs in common list - spath w opt expand may overwrite existed values now if strict opt permit so - croak if nonref passed for structure in spath() - output format changed for spath w 'paths' opt - 'stack' opt to spath() added 0.65 2017-05-04 - slist() now also returns references to values - refactoring 0.64 2017-03-15 - is_implicit_step() subroutine added 0.63 2017-02-22 - docs improved 0.62 2017-01-23 - 'paths' opt for spath() added (highly experimental) 0.61 2017-01-15 - discard path if coderef returned false value - slist() refactored (~15% faster now) 0.60 2016-12-05 - regexp match for hash keys specification supported 0.52 2016-11-28 - Array's items removal fixed (don't fail on out of range indexes in nostrict mode) 0.51 2016-11-27 - Array's items removal fixed (don't remove items from specified to the end) 0.50 2016-08-30 - Coderefs as path steps in spath() supported 0.41 2016-08-19 - spath_delta(): don't return full second path if it's a subset of first one 0.40 2016-08-18 - spath_delta() appeared 0.33 2016-08-11 - Dist corrected, tests refactored 0.32 2016-08-05 - Any thing as a structure accepted by spath() from now on 0.31 2016-08-01 - Pod corrected 0.30 2016-07-30 - slist() appeared 0.21 2016-07-07 - Addressing method in pod described - Unsignificant refactoring 0.20 2016-06-28 - Path structure format changed (hashes definition) 0.12 2016-06-13 - Pod and dist corrected 0.11 2016-06-12 - 'expand' opt for spath() implemented 0.10 2016-05-22 - 'delete' opt for spath() implemented 0.09 2016-05-22 - Pod and dist corrected, unused code removed 0.08 2016-05-16 - 'strict' opt appeared - tests and dist cleaned up - cosmetics 0.04 2016-04-29 - 'deref' opt for spath() added 0.01 2016-04-27 - spath() appeared. - Draft.