The behaviour's hardly "weird"; the loop is operating on the individual digits in a predictable way, $ perl6 -e ".say for '42'..'51';" generates 42 41 52 51
That may be more obvious for slightly different values. $ perl6 -e ".say for '34'..'51';" 34 33 32 31 44 43 42 41 54 53 52 51 That may or may not be desirable, but at least it's predictable.
