^ # match beginning of string
( # begin first stored group
1 # match a one
1+? # then match one or more ones, minimally.
) # end storing first group
\1+ # match the first group, repeated one or more times.
$ # match end of string.
####
$y=shift;
for($i=2;$i<=$y;){
next if$y%$i++;
$y/=--$i;
push@x,$i
}
print@{$,=x};
##
##
$y=shift;for($i=2;$i<=$y;){next if$y%$i++;$y/=--$i;push@x,$i}print@{$,=x};