Don't read if you want to figure this out for yourself!

Step 1. add whitespace
Step 2. change qq## to qq//
Step 3. change => operators to commas
Step 4. change commas to semicolons where applicable
Step 5. remove all of the extra 0's and 1's

#!/usr/bin/perl -w use strict; sub t { # take the list of ordinal values passed # and convert them to characters map { chr($_) } @_ } sub l { # call the s subroutine passing @_ # split the output on spaces # return only the first two values return (split' ', &s)[0,1] } BEGIN { # remember this executes at compile time $% = 2; # set the format page number to 2 $;[0] = 23; # Set the first three values of @; $;[1] = $;[0]++; # to 24, 23, 3. Why no warnings? $;[2] = 3; # Perl creates this when it creates $; @; = &t(@;); # call t(24, 23, 3), store the results in @; $^H ^= $% # $^H = 1794^2 = 1792; # disable strict 'refs' } $. = -${$;[1]}; # set the input line number to -$^W or -1 $! = $: =~ s/\s//g; # $: now contains '-' $!++; # $! is now 3 $? = $= / $! / ($% + $!); # $? = 60 / 3 / (2 + 3) = 4 $= /= $!; # $= = 60 / 3 = 20 # Take the first 4 characters of the last value returned from # splitting $^X on \ or /, i.e. substr((split/[\/\\],$^X)[-1],0,4); $~ = substr((split/[\/\\]/, ${$;[0]} )[$.], $[, $?); # $~ = 'perl'; @~ = split//, $~; # @~ = qw(p e r l); $^ = qq/h$~[${$;[1]}]$~[$!]$~[$|]/; # "h$~[1]$~[3]$~[0]" or 'help' @~ = qx/$~$"$:$:$^/; # @~ will contain the output of `perl --help` $=++ if (@~ == 30); # if there are 30 elements, we must make $= = 21 $~ = $~[$=]; # get the $=th element of @~, should be ' -u...' $^ = substr($~, index($~, $:) + ${$;[1]}, ${$;[1]}); # substr($~, 2+1, + 1) or 'u' $@ = ::j(); # $@ will contain an object $b = '_'; *$b = sub { # *_ $~ = shift; $~->($b, @_); # &$~($b,@_); }; goto &{$@->$^};# goto is never called, $@->$^ is the same as u() sub s { # unpack the string returned by using 'u' as the template unpack($^, $@->_) }; sub j { $a = { _ => '92G5S="!!;F]T:&5R(%!E<FP@2&%C:V5R"@``', }; # $a contains a ref to an anonymous hash with one key $; = sub { # ref to an anonymous sub $: = shift; # get $_[0] which should be '_' $a->{$:}; # return the value in $$a{$:} }; bless($;); # bless the code reference into the main package $;; # return the blessed code reference } sub u { # die using the output of &i die(&i); } sub v { # call the s subroutine passing @_ # split the output on spaces # return the third and fourth values (split' ', &s)[2,3] } sub i { join' ', # join on spaces (&l, # 'Just Another' join('',&t(@{&e}) # 'Evil' ), &v, # 'Perl Hacker' $/) # "\n" } sub e { # return an anonymous array containing these values [69,118,105,108] }; sub p { # fluff 'Just' } sub r { # fluff 'Hacker' } sub o { # fluff 'Another' }


In reply to Deconstructing The Most Cleverly Hidden Secret of All Time! by Mr. Muskrat
in thread The Most Cleverly Hidden Secret of All Time! (666th post) by Mr. Muskrat

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.