in reply to Regular expression

The 1 at the start of the line does nothing - see it as a nop (no operation). Well, to be honest, it does something: It evaluates to 1, if you would use it. It could also be written as
while (s(\d)(\d\d\d)(?!\d)/$1,$2/) {};
If you count the characters this line is a little longer, but not really more readable.
use signature; signature(" So long\nAlfie");