http://www.perlmonks.org?node_id=834580


in reply to Re: Generate unique ids of maximum length
in thread Generate unique ids of maximum length

This tree structure seems similar to ikegami's code, however I haven't understood that fully yet, so I'm not sure what's the difference.

My tree is the same as your $ctree:

A -- ... / \ X -- P -- ... \ / L \ e -- n -- o -- c -- ...

except numbers are considered atomic in mine.

I don't bother collapsing into your $stree form:

A -- ... / \ XP -- ... \ / L \ enoc -- ...

You must type the marked characters, but the others are optional

The difference with mine is that I made more character mandatory. The rational is that the OP wanted to the result to resemble the original as much as possible.

Your mandatory characters:

Lenoc3_duallayer_1 -> Le3d1 ^^ ^ ^ ^

My mandatory characters:

Lenoc3_duallayer_1 -> Len3_du_1 ^^^ ^^^^ ^^