Spoiler!

Download the code or set code wrapping to larger value than default if you want to read this.

Here's the cleaned up code with some explanations.

The code has run-lenght encoded images of the digits.

use warnings; $INITTERM= "\n"; # originally "\ec" $r= ' _/\|'; # The format of the rle data in @m is like this: # One digit for count, one digit for the character: 1=space 2=_ 3=/ 4= +\ 5=| # I've inserted spaces for clarity. $m[0]= '52 112221 113211 113211 51 1142 1142 52 113211 + 1142'; # _____ __ ___ ___ ____ ____ _____ ___ + ____ $m[1]= '153115 211521 133114 133114 153115 1341 1341 4113 153115 + 133115'; # | | | / \ / \ | | / / / | | + / | $m[2]= '153115 211521 311311 311213 153215 1542 1542 311311 153215 + 143215'; # | | | / _/ |___| |____ |____ / |___| + \___| $m[3]= '153115 211521 211321 4114 4115 4115 153115 211321 153115 + 4115'; # | | | / \ | | | | / | | + | $m[4]= '153215 221522 111332 143213 4115 4213 143213 111331 153215 + 4115'; # |___| __|__ /___ \___/ | ____/ \___/ / |___| + | $s= 5; for $k (0..$s-1) { # decode the rle data to plain strings while ($m[$k]=~ /(\S)(\S)/g) { $t[$k].= substr($r, $2-1, 1) x $1; } } # @t (orig. @~) now contains the decoded characters, each element is o +ne line: # _____ __ ___ ___ ____ _________ ___ ____ # | | | / \/ \| |/ / /| |/ | # | | | / _/|___||____|____ / |___|\___| # | | | / \ | || | / | | | # |___|__|__ /___\___/ |____/\___/ / |___| | do { localtime=~ /.*(\d)(\d):(\d)(\d):(\d)(\d).*/; for $i (0..4) { # for each line if ($i==0) # before 1st line, print top of frame { print $INITTERM, "=" x 45, "\n" } print "| "; # print the first digit print substr ($t[$i], $1*5, 5), " ", substr ($t[$i], $ +2*5, 5); # the first colon print+(($i==2) ? "o " : " "), (($i==3) ? "o " : " ") +; # the second digit print substr ($t[$i], $3*5, 5), " ", substr ($t[$i], $ +4*5, 5); # the second colon print+(($i==2) ? "o " : " "), (($i==3) ? "o " : " ") +; # the third digit print substr ($t[$i], $5*5, 5), " ", substr ($t[$i], $ +6*5, 5); print " |\n"; if ($i==4) # and the bottom frame after the 5th line { print "| ", " " x 41, " |\n", "=" x 45, "\n" +; } } } while(sleep(1.5)); __END__

In reply to Re: This was a lot of fun by ambrus
in thread This was a lot of fun by ninja-joe

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!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • 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, details, 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, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            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.