in reply to Re: Re: Triangle Golf
in thread Triangle Golf

Very nice paring down, I especially like the conversion from a greedy expression to the minimal one you use, in order to avoid defining $c. Further reduction gives:
perl -ln0e's/\s+/ /g;print$"x(40-($c=length$&)/2),$&while/.{0$c,}? |.* +/g' ...
61 chars of code plus 3 modifier chars.
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print

Replies are listed 'Best First'.
Re: Re: Re: Re: Triangle Golf
by petral (Curate) on Apr 26, 2001 at 21:27 UTC
    Much cleaner! Putting the increment back in and not skipping a line at the end yields a "more intresting"* result (63 chars):
    perl -ln0e's/\s+/ /g;print$"x(40-($c=2+length$&)/2),$&while/.{0$c,}? | +.+/g' a.txt w.txt a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a The same principle applies to any text file, basically splitting words only on spaces or new lines perl -ln0e's/\s+/ /g;print$"x(40-($c=2+length$&)/2),$&while/.{0$c,}? | +.+/g' w.txt a.txt The same principle applies to any text file, basically splitting words only on spaces or new lines a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
    (I know, I know. I'm the only one who could possibly still be interested at this point.)

    * update "more interesting" meaning more <|triangular|>  (than the original challenge).

    And, moving even deeper into 'useless use of code in void context':
    print($"x(40-($c=2+length$&)/2),$&),$c*=($c<80)while...
    will make triangles of files of any length (a step towards automated obfusification?).

    p