Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

first obfu japh

by feanor_269 (Beadle)
on Apr 17, 2003 at 23:48 UTC ( #251363=obfuscated: print w/replies, xml ) Need Help??

This is my first obfu, and my first JAPH, so it's prolly not really hard to crack. Go gentle on the --! :)
#!/usr/bin/perl -w use strict; my@JAPH = ('j','u','s','t',' ', 'a','n','o','t','h','e','r', ' ','p','e','r','l',' ', 'h','a','c','k','e','r',"\n"); @JAPH = sort(@JAPH); l('%%%%%%%%%%%%%');l('%%%%%%%%%%%%%%%%%%%%%%%%%'); l('#####################');l('%%%%%%%%%%%%%%%%%%%%%%%'); l('#');l('%%%%%');l('###############');l('%%%%%%%%%%%%%%%%%'); l('#######################');l('%%%%%%%%%%%');l('#######'); l('%%%%%%%%%%%%%%%%%%%');l('%%%');l('#################'); l('%%%%%%%%%');l('###################');l('%%%%%%%%%%%%%%%'); l('###');l('###########');l('#####');l('%%%%%%%'); l('#############');l('#########');l('%%%%%%%%%%%%%%%%%%%%%');l('%'); sub l{my$s={'#'=>0,'%'=>1};my@t=split/ */,$_[0];my$l=@t; print @JAPH[$l-$s->{$t[0]}];}

Any tips quite welcome

feanor_269

Replies are listed 'Best First'.
Re: first obfu japh
by Mr. Muskrat (Canon) on Apr 21, 2003 at 16:09 UTC

    ++feanor_269, this is pretty good for a first attempt!

    Suggestions for future obfuscations in no particular order:

    • Use built-in variables:
      • wherever possible
      • in unexpected ways
      • even if they are not needed
    • Shape the code to look like something even if it's only a rectangle because:
      • it makes you break your lines in unexpected places
      • it looks better
      • you might discover that you are an ASCII artist
    • Whitespace:
      • add it where it doesn't belong
      • remove it from where it does belong
    • Use commas in place of semicolons where allowed
    • Use the arrow operator in place of commas
    • Use short circuits
    • Study the work of the masters:
    • Read Writing highly obfuscated code in Perl and it's replies
    • Practice, practice, practice
    • Have fun!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2020-12-03 13:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How often do you use taint mode?





    Results (56 votes). Check out past polls.

    Notices?