#!/usr/bin/perl -Tw use strict; my @code = ( 'for(my $i=0;$i<10;$i++) { print $i," "; }; print "\n";', 'blarmityschlammit', 'for(my $i=0;$i<10;$i++) { print $i,"\n";', # Missing closing brace '}; print "code4 sneaky code\n"; sub { print "code4 regular code\n";' ); for my $i (0..$#code) { print "\n** Compiling code block $i\n"; my $user_code = eval "sub { $code[$i] };"; if ($@) { warn "Bad user code block: $@\n"; next; } print "** Running code block $i\n"; $user_code->(); }