Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: ACA JAPH

by eyepopslikeamosquito (Canon)
on Aug 18, 2007 at 12:07 UTC ( #633470=note: print w/ replies, xml ) Need Help??


in reply to ACA JAPH

Without understanding what your code does, I whittled 100 strokes off its length by performing some routine golfic shortenings:

@z=(sub{$c=pop;$x{$"}=$C{$"}=$";$x{$_}or$x{$C{$k}=$_}=$k=chr ord(A)+($a+++$c)%26for pop=~/./g,a..z},sub{$h=pop;$r.=$$h{$_}for pop=~/./g;$r});$z[0]->(thequickbrownfoxjumpsoverthelazydogs,10); print$z[1]->('ZOCK FWUKLMT BMTE LFQR',\%C).$/
Fits in a 4-line sig now. :-)

Update: whittled a further 10 strokes.


Comment on Re: ACA JAPH
Download Code
Re^2: ACA JAPH
by goibhniu (Hermit) on Aug 18, 2007 at 15:46 UTC

    Wonderful. Is there a "routine golf shortenings" node?


    I humbly seek wisdom.

      <shameless plug>
      There's a number of tips and techniques listed in Perl Golf 101 as well as in the comments to that node.
      </shameless plug>


      --chargrill
      s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)

        Wow, that's a nice node that I wasn't previously aware of. The basic shortenings I made were:

        • all variable names one char in length
        • eliminate variables where you can
        • removed quotes from strings (e.g. "FRED" -> FRED)
        • $x=1;$y=1 -> $x=$y=1
        • shift -> pop in subs
        • removed return in subs
        • split // -> /./g
        • for {...} -> ... for
        • if {...} -> ... or ...
        • ' ' -> $"
        These all seem to be mentioned in Perl Golf 101, except perhaps the last one. BTW, I've added Perl Golf 101 to the list of references in The Lighter Side of Perl Culture (Part IV): Golf.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://633470]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (19)
As of 2014-07-31 13:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (248 votes), past polls