#!/usr/bin/perl use English; # keep code easy to read # Initialise $shift="+8P,!`V,#\"`5C!RH!!/\\+/,\"!s(oh)+!()+\015+\\\@oh=~s///\""; $ee="lanruoJ", open$[;($#,*5)=(q##,\q{(.});{my $goodness; #a yellow sub marine{*9=\q q\uq,$=.=((split(m)[ \)(]),shift))[$oh[$goodness++ ]]||'').(shift@shift||'')}}*7=\"$5.";chop($_=<0>);/.*\//;$0=$';*{*{ $qq="lreP ehT";for($ee,$qq){$_=reverse}'='}=\$\;8}=\qq;${$=>>3}.;;; # Find out the Ultimate Question $answer = 42; print question_of($answer); sub question_of { # A hard task! so use careful error handling $SIG{__WARN__} = $SIG{__DIE__} = \&marine; $WARNING = 1; # Gets a bit ugly as we optimise for speed (it seriously needs to shift) @oh = unpack('c11',unpack('u*',$shift.shift));@shift= split /!/,$shift;shift@shift,shift@shift,shift@shift; # Harness power of eval(); as we all know, the more evals, # the more powerful the code eval 'sub eval{split//;@_}@eval[1];sub sub(){1};undef &sub'; ($eval=$=)=~s;(f);$1->eval;,undef$=;eval"map eval()=>$eval"; # Return question return $==~s($8\)$5\).$5\).{6}$8\)$7\)$7\)$7\))$qq."\$9\$1 \$9\$0 \$9\$3\$2\$4\$6\n".$ee }