Ton Hospel wrote:
> Here is a redo of the idea.
>
> - I changed the format letter to be . (as in $.)
> - I made the repeat count mean "relative to the n-th ()-group" counting
> from inside out. A repeat count of 0 means relative to the current
> position and a count of * means relative to the string start ("go outside
> all the way")
>
> For the 5.8.6 version of the patch I made it croak on repeat counts > 1
> since that one doesn't chain the tempsym_t structures, and getting it
> to do that would also need a patch to a visible struct in perl.h
> - I made pack() also support .
> - For blead I made it encoding neutral
> - The blead patch is also sneakily a space removal patch for t/op/pack.t
> - For the blead patch I added ! as modifiers to . and @ to mean "byte offset"
> instead of character offset. This should be unneeded since you could
> conceptually use U0.C0, but the implied upgrade because of U0 would make
> this possibly quite inefficient, and I see a main use of this feature as
> walking efficiently through packed string in pieces
> (so .! and @! break pack/unpack neutrality)
> - Added tests and documentation
Thanks, applied as #24100 to bleadperl.
--
Unpatronizable is not *NIX