Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
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 contemplating the Monastery: (6)
As of 2015-07-05 14:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls