in reply to Re^2: Generate unique ids of maximum length
in thread Generate unique ids of maximum length
To shorten "A2990_duallayerA_1" when "A2990_duallayer_1" is also present would require removing from the middle of the word, and that goes against your examples. You didn't specify your spec, so I had to guess a lot.
To handle this case, you could consider a lowercase followed by an uppercase to be a word break. Change
if ($key =~ /^[a-zA-Z]\z/) {
to
if ( $key =~ /^[a-z]\z/ || $key =~ /^[A-Z]\z/ && $flux !~ /[a-z]\z/ ) {
You get:
A2990_duA_1 A2990_du_1 A2990_du_2 A2990_du_3 A2990_du_4 A2990_du_5 A2990_du_6 A2990_du_7 A2990_du_8 A2990_du_9 A2990_du_10 LXP_01 LXP_02 ...
Fixed in original code.
|
|---|