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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|