The Ancient Romans never expected to be Perl Hackers. That's all the hint you get on this one.

I would really enjoy hearing from anyone who unwinds this. Hopefully if you do unravel it you'll understand the inspiration behind this obfu.

Here it is:

$a=ord$/;;;for(483315457,3759149058,3883269635,3794874370,1647390720, 1644171264,1912787457,4277106435,4100403459,608567554,608436482){$c=0 ;for(split//,substr unpack("B*",pack"L*",$_),6){$o[$c]+=(ord d,ord 2, $a,$a,$a,$a,$a/2,$b=$a-9,$b,$b,$b)[$i]if$_;$c++}$i++}print chr for@o

Enjoy! :)

Update: Kudos to Aristotle for figuring it out.

Now that it's been unraveled here's the spoiler.
Each "long int" represents a bitmap. Each bitmap is the same width as "Just another Perl Hacker.", so one bit corresponds to one letter. However, there are about eleven rows of bitmaps. The first row corresponds to Roman numeral 'C' (100). The second row corresponds to 'L' (50), then a few rows of 'X' (10), one of 'V' (five), and a few of 'I'. Add the rows up by vertical column within the bitmap, assigning proper value to each row, and you get a number that corresponds to an ascii value in each column.

Anything so straightforward probably shouldn't be an obfu, but I thought the method of storing the roman numerals in sequences of bits carried with it some intregue.

That's it for the spoiler. Back to work...


Dave


"If I had my life to do over again, I'd be a plumber." -- Albert Einstein

Replies are listed 'Best First'.
Re: Roman Obfu (spoiler: unraveled)
by Aristotle (Chancellor) on Oct 10, 2003 at 16:44 UTC
    This wasn't terribly hard.. :)

    Makeshifts last the longest.

Re: Roman Obfu
by abell (Chaplain) on Oct 11, 2003 at 09:25 UTC
    The Romans never expected to be Perl Hackers

    That's overgeneralization. Being from Rome, I can tell you I did expect to be a Perl Hacker, and so probably did dada ;-)

    Cheers

    Antonio


    The stupider the astronaut, the easier it is to win the trip to Vega - A. Tucket