> ezt a regexpet könnyebb lehetett megírni, mint megérteni
Így készült, ebből jobban látszik a szerkezete:
@t=(
'aaa99',
'aa9a9',
'aa99a',
'a9aa9',
'a9a9a',
'a99aa',
'9aaa9',
'9aa9a',
'9a9aa',
'99aaa'
);
foreach $t (@t){
$t =~ s/a/([A-Z])(?!.*\\g{-1})/g;
$t =~ s/9/([0-9])(?!.*\\g{-1})/g;
}
print join(')|(',@t), "\n";
Plusz pár karakter kézzel.