in reply to (Golf) Decorating the Christmas Tree
I replaced '*' with '%' as an ornament since IMHO it ought only be on top. And you can add new ornaments to @F at Will. Oh, and I added a trunk. Without embellishments it is 186 chars.($h,$f)=(23,.9); @F=qw(o @ + %);$\="\n"; sub Z{my $s;$s.=rand()<$f?$F[rand $#F+1]:'='for(1..$_[0]);$s;} print ' 'x&z(0,2),'*';sub z {(($h*2)+1-$_[0])/$_[1];} for$i(1..$h-1){$i*=2;$i++;print ' 'x&z($i,2),Z($i);} print ' 'x&z(2,2),'| |';
UPDATE: Changed char counts to reflect runrig's assumption
--
perl -p -e "s/(?:\w);([st])/'\$1/mg"
|
|---|