http://qs321.pair.com?node_id=526233

This runs under Linux, using an obscure trick which I've never seen used before.

Using -MO=Deparse won't really help.  Anyone interested in providing an analysis?

#!/usr/bin/perl -w %ENV = qw( bin 42 perl 52 my 33 opt 26 lib 32 site 25 tmp 34 usr 22 var 62 local 36 other 44 misc 12 temp 45 ); @INC = ( "./opt/usr/usr/tmp/opt", "/perl/lib/usr/usr/72", "/perl/lib/usr/tmp/bin", "/usr/misc/lib/usr/var/lib", "/my/54/other/bin", "./tmp/lib/usr/tmp/opt/misc/usr/opt/site", "/usr/usr/23/misc/usr/usr/lib/lib/usr/usr/var/usr", "/opt/usr/13/usr/usr/lib/local/24/temp", "/usr/usr/usr/usr/usr/usr/lib/lib/usr/usr/var/usr", "/usr/usr/usr/usr/tmp/bin/lib/usr/opt/usr/usr", "./site/local/site/lib", "/usr/usr/usr/var/usr/usr", "/site/tmp/temp/lib", "/usr/var/var/usr/usr", "/usr/66/usr/usr/site", "./usr/usr/tmp/other/lib/usr/opt/site", "/usr/usr/usr/usr/usr/usr/usr/misc/lib/var/usr", "/opt/opt/usr/64/other/temp", "/usr/usr/usr/usr/usr/usr/usr/misc/lib/var/usr/lib/usr/usr", "/usr/usr/usr/usr/tmp/lib/usr/opt/usr/usr/lib/usr/usr", ); map { $, = $_; map { $, =~ s/$_/$ENV{$_}/g } (keys %ENV); $_ = $,} @I +NC; map { s,^\.,$/, } @INC; map { $; = 101+int($_/5)+($_>14); map { s,/(\d)(\d),' 'x$1."\e[$;m".'#'x$2."\e[m",eg } $INC[$_] } (0..1 +9); @INC = ((join $/,@INC),$/); eval { require "JAPH" }; die

@ARGV=split//,"/:L"; map{print substr crypt($_,ord pop),2,3}qw"PerlyouC READPIPE provides"

Replies are listed 'Best First'.
Re: Dying for a Good Japh
by tweetiepooh (Hermit) on Jan 30, 2006 at 14:45 UTC
    Quite nice.


    On Solaris the eval is not needed and the module could be anything.

    A nice trick would be to leave the real @INC in place in some form so real modules would work but require "JAPH" would give message.