Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

What this obfu lacks in artistic merit (that's supposed to be a Möbius strip), I think it makes up in technique and name. I got the idea from a Haskell assignment (egads! Posting homework to the monastery?), and I think the main concept is mildly clever. I'd love to talk about it, but I don't want to spoil the surprise!

#! /usr/bin/perl -w use strict; sub godel{my ($f,$a,$l)=@_;return $a unless @$l;my$x=shift @$l;&$f( $x,&godel($f,$a,$l));}my @M=split '', "Just another ";my @I =split '' +, "Perl hacker,"; my @U =reverse @M; su +b escher{my ($l,$m) =@_;sub{$l= pop @ +U if @U;$l.&$m();} } unshift@U, split ' +' ,"pool egnarts";my$bach=&godel(\&escher,&godel(\&escher,sub{return"\n" +} ,\@I),\@M);print &$bach(); ### Inspired by Douglas Hofstadter's _GEB_

Tested on Perl 5.6.1, Linux 2.4.18.

--
F o x t r o t U n i f o r m
Found a typo in this node? /msg me
% man 3 strfry


In reply to Just Another Godel, Escher, Bach hacker by FoxtrotUniform

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others wandering the Monastery: (13)
    As of 2014-07-25 16:02 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      My favorite superfluous repetitious redundant duplicative phrase is:









      Results (173 votes), past polls