in reply to Dying for a Good Japh

Quite nice.

Set a number of environment vars to selected numbers.

Set @INC to carefully constructed rubbish.

Convert @INC to print JAPH in big letters using environments set earlier. This seems to use ANSI/terminal control sequences.

Ask to load a module. This will fail so perl will print out @INC now holding the message.


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.

Replies are listed 'Best First'.
Re^2: Dying for a Good Japh
by liverpole (Monsignor) on Jan 30, 2006 at 15:57 UTC
            I think there is an implicit "die" in the error that it can't find the module.

        No there isn't.  If eval is used, taking out die will cause the output to cease appearing.  Try it and see...


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