#!/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