#!/usr/bin/perl END{s{}{"@{[map{$%=$_;$_=&{$_{$_}};$%%2&&s%.%\u$&%;$_}($|..${$/=\ ($^A+$|+$?)})]},"}e;print}($,,$,,+$*,$,,$,)=($|..$=/(+++$^A+$^A)* +++$^A*++$^A);@_{++$|..2**(++$-+$-)}=(sub{(join$',map{+chr($|+$,+ ord($_))}reverse((split$`,&{$_{$=/($,*$,+$,)}})[$...$|]))."${\'s' }".substr(&{$_{2}},$^A,$|)},sub{"anoth".substr(&{$_{$^A}},+$-,$-+ $|)},sub{$a="\104\101\124\101";!seek$a,$=/($*+$,)+$|,$;or~~<$a>}, sub{local$";"@{[(split//,(chr($^A-$|+ord(substr(&{$_{$^A-$|}},+$? ..++$?)))).&{$_{$,/($^A-$|)}}.chr(2*$=-$^A*$,-$|))[$,+$|,$|,$--$| ,+-+$|,-$|x$?,+$=/(0+$,*+$*+-+-$*),$,+-+-~~$*+-+-$|]]}"});__END__

(needs to be saved to a file)

Update: You must include the #! line in the file.

Comment on Four part JAPH
Download Code
Re: Four part JAPH
by ghenry (Vicar) on Apr 18, 2005 at 13:09 UTC

    Hi cog, does this mean 3 more parts are coming?

    I ran the above using ActiveState 5.8.6, on Win2k, and got:

    R`st anothma [map hackma,

    I don't think that's right? ;-)

    Thanks.

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!
      Hi cog, does this mean 3 more parts are coming?

      No, it means that the japh is calculated in four different parts :-) Try to deobfuscate it :-)

      R`st anothma [map hackma,

      At first glance, I'd say that I'm relying on some special variable that holds a different value in your system... :-\ To find out which... oh boy... :-\

      I'm saying this because I refrained myself from using $^F precisely because it could change...

      Hum... I'd say $= doesn't hold 60 in your system... am I right? :-\

        Nope ;-)

        perl -e "print $="

        Gives 60, on a Win2k, ActiveState 5.8.6 install.

        Walking the road to enlightenment... I found a penguin and a camel on the way.....
        Fancy a yourname@perl.me.uk? Just ask!!!
      Problem solved (I think), thanks to Jody Belka (knewt) on #perl.

      ghenry, the file must include the #! line :-)

        I'm a Linux junkie, but I thought on Windows, you always had to just have the code in a text file and run it with:

        perl textfile

        Walking the road to enlightenment... I found a penguin and a camel on the way.....
        Fancy a yourname@perl.me.uk? Just ask!!!
        Haven't tried to de-obfuscate it (yet), but why not the use of $^X instead of the mandatory first line?
Re: Four part JAPH
by jdalbec (Deacon) on Apr 21, 2005 at 04:06 UTC
    I'm impressed by how well parts of your code foil Perl::Tidy. The "@{[...]}" and s{}{...}e notation and the __END__ at the end of a line all cause Perl::Tidy not to respace those sections of code at all. The following modification is Perl::Tidy-friendlier:
    #!/usr/bin/perl END{$_=(join$",@{[map{$%=$_;$_=&{$_{$_}};$%%2&&s%.%\u$&%;$_}($|..${$/= +\ ($^A+$|+$?)})]}).",";print}($,,$,,+$*,$,,$,)=($|..$=/(+++$^A+$^A)* +++$^A*++$^A);@_{++$|..2**(++$-+$-)}=(sub{(join$',map{+chr($|+$,+ ord($_))}reverse((split$`,&{$_{$=/($,*$,+$,)}})[$...$|]))."${\'s' }".substr(&{$_{2}},$^A,$|)},sub{"anoth".substr(&{$_{$^A}},+$-,$-+ $|)},sub{$a="\104\101\124\101";!seek$a,$=/($*+$,)+$|,$;or~~<$a>}, sub{local$";join$",@{[(split//,(chr($^A-$|+ord(substr(&{$_{$^A-$|}},+$ +? ..++$?)))).&{$_{$,/($^A-$|)}}.chr(2*$=-$^A*$,-$|))[$,+$|,$|,$--$| ,+-+$|,-$|x$?,+$=/(0+$,*+$*+-+-$*),$,+-+-~~$*+-+-$|]]}}); __END__
    Here is a tidied version with comments: