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


in reply to (golf) Interlaced Strings

#!/usr/bin/perl use strict; sub interlace { ### ENGAGE GOLF MODE ### my@a=@_;my$z='';($z=chop($a[0]).chop($a[1]).$z)while($a[0]||$a[1]) +;$z ### DISENGAGE GOLF MODE ### } print interlace 'Ti sats.', 'hsi et ';

69 chars with strict on, according to Emacs.

Update: D'oh! Changed something and forgot to change the other part to match. Now is six characters longer.

Replies are listed 'Best First'.
Re: Re: (golf) Interlaced Strings
by Masem (Monsignor) on May 02, 2001 at 07:08 UTC
    Do you even need to define @a? I think you can drop this by 7 characters more...
    Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
      Eight, you mean. But I do need to define it; since I'm passing in constants, @_ is considered read-only.
Re: Re: (golf) Interlaced Strings
by koolade (Pilgrim) on May 02, 2001 at 19:54 UTC

    Am I missing something? This doesn't work for me. $x and $y are never defined. Do you mean:

    my@a=@_;my$z='';($z=chop($a[0]).chop($a[1]).$z)while($a[0]||$a[1]);$z