http://www.perlmonks.org?node_id=148632


in reply to Re: TPR(0,1) Golf Tournament Begins!
in thread TPR(0,1) Golf Tournament Begins!

Heh...the experts are already way ahead of me, but as a beginner, I thought I'd try anyway. Apparently, 229 chars with very simple whitespace removal:

my$s=shift;until(length$s<2){print"$s\n";$s=tpr($s)}print"$s\n";sub tpr{my@d=split//,shift;my $s;while(my@p=splice@d,0,2){unshift@d,$p[1] unless!@d;my$r=$p[0]+$p[1];until($r<=9){my$c=$r;$r=0;for(split//,$c){ $r+=$_}}$s.=$r}$s}

Update: abuse of map brings it to 227. Is whitespace counted? I'd hate to make it a horrible one-line thing...

my$s=shift;until(length$s<2){print"$s\n";$s=tpr($s)}print"$s\n";sub tpr{my@d=split//,shift;my $s;while(my@p=splice@d,0,2){unshift@d,$p[1] unless!@d;my$r=$p[0]+$p[1];until($r<10){my$c=$r;$r=0;map{$r+=$_}split //,$c}$s.=$r}$s}


--
my one true love