#!/usr/bin/perl use strict; use warnings; use Safe; my $safe = new Safe; $safe->reval(q| sub fibonacci { my $index = shift; return 0 if $index == 0; return 1 if $index == 1; return fibonacci( $index - 1 ) + fibonacci( $index - 2 ); } |); print "F($ARGV[0]) is ", $safe->reval(qq|fibonacci($ARGV[0])|), "\n"; #### & 2e main L<13><08>N & 30 main p<06><08>ON__ & 31 main L<13><08>N & 32 main p<06><08>ON__ #### Safe::reval Safe::lexless_anon_sub main::L<13><08>N strict::unimport Opcode::_safe_call_sv main::p<06><08>ON__ Safe::reval Safe::lexless_anon_sub main::L<13><08>N strict::unimport Opcode::_safe_call_sv main::p<06><08>ON__ main::fibonacci main::fibonacci (... and so on) #### #!/usr/bin/perl use strict; use warnings; eval(q| sub fibonacci { my $index = shift; return 0 if $index == 0; return 1 if $index == 1; return fibonacci( $index - 1 ) + fibonacci( $index - 2 ); } |); print "F($ARGV[0]) is ", eval(qq|fibonacci($ARGV[0])|), "\n"; #### & 471 main <10><98> id #### while (<>) { print; last if /^PART2/ } while (<>) { s/([\x00-\x09\x0b-\x15\x7f-\xff])/"<".sprintf("%X",ord($1)).">"/eg; /^[@&+\-\/*]/ or $prev =~ s/\n$/<10>/; print $prev; $prev = $_; } print $prev; #### WeBWorK::PG::Translator::translate Safe::reval main::<10><98> strict::unimport main::<88>'<08>ON__ main::DOCUMENT #### WeBWorK::PG::Translator::translate Safe::reval main::<08><83>G<0A>N strict::unimport main::<99><08>ON__ main::DOCUMENT #### WeBWorK::PG::Translator::translate Safe::reval main::BEGIN strict::unimport main::__ANON__ main::DOCUMENT