I like this JAPH alot.
#
# use strict or die
#
use strict;
#
# this is the command we use to start working on @_ in the s///e
#
my$s=';pop';
#
# set $_ to be empty to start with
#
$_='';
#
# a comment
#
# 59 /e, © 2001 Philippe "BooK" Bruhat
#
# ???
#
*_=*ARGV;
#
# set up @_ to contain our list of japh commands
#
@_=qw(4a4a2bfe01ac410d0105f4fd0dae30150dfab448f90208fa0d98 pop print+c
+hr(shift) print+chr(shift) unshift@_,(shift()+shift())x2 push@_,(pop,
+pop)x24 print+join"\n",@_; unshift@_,(map{unpack'c',$_}split//)[0..25
+] ; s/../chr(hex$&)/eg $_=substr(shift,0,52) @_=map{s|$|$s|s;$_}@_;po
+p);
#
# start the chain of evals
#
s//$s/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee;
A breakdown of what the eval does (a JAPH in itself):
#
# first we do the pop as stored in $s
#
pop(@_);
#
# the pop'ed command adds ";pop" to the end of each element of @_, the
+n pops the next command off the @_ array
#
@_=map{s|$|$s|s;$_}@_;
pop(@_);
#
# set $_ to "4a4a2bfe01ac410d0105f4fd0dae30150dfab448f90208fa0d98" and
+ pop
#
$_=substr(shift(@_),0,52);
pop(@_);
#
# Transform each pair of hex digits into a character and pop
#
s/../chr(hex$&)/eg;
pop(@_);
#
# pop
#
;;pop(@_);
#
# unpack each of the first 25 characters in $_ and unshift them on to
+the beginning of $_ and pop
#
unshift@_,(map{unpack'c',$_}split//)[0..25];
pop(@_);
#
# pop
#
;;pop(@_);
#
# take the last 2 elements from $_ and put them back on the beginning
+again. do this 24 times (so there should be 26 pairs of these command
+s in all). then pop
#
push(@_,(pop(@_),pop(@_))x24);
pop(@_);
#
# do these commands 26 times:
# take two chars from @_, add them, put them back on @_ and then remov
+e and print them
#
unshift(@_,((shift(@_)+shift(@_))x2));
pop(@_);
print(chr(shift(@_)));
pop(@_);
#
# finally print the last character
#
print chr(shift(@_));
pop(@_);
#
# and do some more pop'ing
#
pop(@_);
pop(@_);
In reply to Re: 59 /e
by iamcal
in thread 59 /e
by BooK
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, 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
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
|
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
|
|