I think the various viewpoints on your original question have all been covered adequately already, so I'm going to launch onto a slightly random tangent instead—is there a particular reason why /\G(X|D+|L+)/g is preferable to the slightly less punctuated /X|D+|L+/g in this situation?
I might also have chosen to use a strategically placed local $, = ""; and "@property{@letter}" =~ //
rather than a join, but I'm not going to ask why you didn't do that, since I admit that it probably falls well over the line into "too clever by half" territory. :-)
If God had meant us to fly, he would *never* have given us the railroads.
--Michael Flanders