This isn't highly obfuscated, in fact you should be able to work it out in a couple seconds pretty easily. The comments are amusing =)
#!/usr/local/bin/perl -w
use strict;
;# This is a pail of painful perl. It includes things that cannot be,
;# and wierdness that doesn't add up. It *will* run...
;# First they declare the $, can you do that?
local $;
;# Did you know you can assign a sub to a $?
$ *= sub {$ -= rand 2000000};
$ .= sub {$ --=(int $-)/2};
;# Can even do bit operations against $!
$ |= sub {qw/higher/};
$ ^= sub {qw/lower/};
;# How about a multiplication by a dereferenced anonymous array?
;# (that has a concatenation with another deref'd anon array!)
;# And what's this about $ being a subroutine?
$ * ->(
$(), $ .->($)
);
;# This is where is gets bizarre: worthless markers with no gotos,
;# joining something that's not an array; you're on your own.
;# (i put a question mark next to the ones i didn't understand...)
{
print '$ ' and chomp( $ == <STDIN> );
$ =<=> $ -?
print join '', $ =< $ -?
$ | ->($)
): $ ^ ->()
,"\n": last;
redo;
}
;# FINALLY! A normal statement!
print "correct.\n";
enjoy,
jynx