Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

YAJAPH - Yet Another JAPH

by CombatSquirrel (Hermit)
on May 16, 2003 at 22:52 UTC ( #258785=obfuscated: print w/ replies, xml ) Need Help??

I just wrote my first JAPH. It's not really obfuscated, though. I would really appreciate any comments on it.
#!perl -s * _=\ *DATA => s <> %join'' , <_> %e => s([^\d])))g=> s ^ \d {3} ^chr $&^egx=>~~split'' ;print+join'',map { $_ [$_] ^ $_ [- $_] } (1..@_>>1)=>__DATA__ 042123185208084070254140 01 01 700 Combat Squirrel's 772 4017 1061 17923 f i r s t 71340 190970 421301 0408004 J A P H 4064086 12005007 30590112 2706606512724413622702921714903722210122 6***1*5*9*1*0*2*0*3**2*1*6*3*2*0*4*0*4***9

Comment on YAJAPH - Yet Another JAPH
Download Code
Re: YAJAPH - Yet Another JAPH
by vladb (Vicar) on May 17, 2003 at 01:07 UTC
    It's a decent attempt especially for a first time ;-)

    I took some pleasure in decyphering your code to derive at the spoiler. You've used a number of interesting tricks to obfuscate the code.

    Some of the discovered obfuscation tricks:
    1. use of => in place of ;
    2. use of non standard delimiters in search and replace regexp (s///)
    3. Hiding $_ and __DATA__ input handle behind the *_ typeglob.
    4. Using left shift bitwise operation to calculate N/2 (e.g. N >> 1 instead of just N/2).
    5. and some other ;-)


    For the simplified version of the JAPH look below:
    #!perl -s $/ = undef; my $data = <DATA>; # remove all non numeric characters from $_ $data =~ s/[^\d]//g; # take 3 digits at a time and convert them to a char $data =~ s/(\d{3})/chr($1)/egx; @data = split('', $data); my @letters; for (my $i = 1; $i <= @data / 2; $i++) { push @letters, $data[$i] ^ $data[-$i]; } print join('', @letters); __DATA__ 042123185208084070254140 01 01 700 Combat Squirrel's 772 4017 1061 17923 f i r s t 71340 190970 421301 0408004 J A P H 4064086 12005007 30590112 2706606512724413622702921714903722210122 6***1*5*9*1*0*2*0*3**2*1*6*3*2*0*4*0*4***9


    update: Front-paged this one as I felt it deserves it.

    _____________________
    "We've all heard that a million monkeys banging on a million typewriters will eventually reproduce
    the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true."

    Robert Wilensky, University of California

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: obfuscated [id://258785]
Approved by vladb
Front-paged by vladb
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (14)
As of 2014-07-23 14:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (145 votes), past polls