in reply to A Simple Japh

This one is pretty nice. Though it's not hard to understand what's going on, it's still pretty nifty.

First, let us put this in a slightly more readable format.

@q = qw(hacker. Perl another Just); sub q { pop @q } for (0..6) { $q = $_ % 2 == 0 ? q(&) : q(;) ; print eval "${q}q( )" }

Good. That clarifies something. The funny thing here is that q() of course is to qq() what '' is to "" - that is the power of this obfu.

With that in mind, let's put this thing in a more conventional way.

for (0..6) { $q = $_ % 2 == 0 ? '&' : ';' ; print eval "${q}q( )" }

Aha! That exlains a whole lot more! The for loop keeps track of a variable $q that alternates between '&' and ';'. So the string evalled alternates between &q( ) and ;q( ).

By now, the secret is unraveled: the first eval calls the home-made sub, which returns one of the words of a JAPH. The second eval just means ;' ' and returns a space.