Verrrry cool idea... this can actually come down to 56:
`sub k {
$_="000"|"@_";/495/?0:1+k(-($_=join'',sort/./g)+reverse)
}
`
The interesting thing about this is that it's not the same as right-formatting the number via sprintf, since the 0 goes to the back, but it doesn't matter because the digits are reordered anyway.
MeowChow
s aamecha.s a..a\u$&owag.print | [reply] [d/l] |

Yeah, i realized the whole `@{[pop]}` bit wasn't needed about 20 miles from home, figured someone would've already noticed it by the time i got back..
Here's one more:
`sub k {
$_=0 x3|"@_";/495/?0:1+k(-($_=join'',sort/./g)+reverse)
}
`
55
--sean | [reply] [d/l] [select] |

Nice ... It took me a sec to notice it was `|` and not `||`. You can shave off a char by replacing `"@_"` with pop. I tried to save more, but each time I came up with the same # of chars, just a different way to do it. It almost looks obfuscated now : ), but here's a solution at 54:
`sub k {
$_=$-x3|pop;!/495/&&1+k(-($_=join$k,sort/./g)+reverse)
}
`
**Update:**Nice catch Sean. I tested it, just not against numbers like 100 233. It looks like the am wins then, unless that can be beaten.
The 15 year old, freshman programmer,
Stephen Rawls | [reply] [d/l] |

Comment onRe: Re: (Golf) Kaprekar's ProcessDownloadCode