You're probably aware of this already, but there will still be ways for sneaky programmers to get around restrictions like that. For instance:
my @backward_chars = ('e', 's', 'u');
my $watch_out = (reverse join "",@backward_chars) . " Data::Dumper;";
eval $watch_out;
my $x = Dumper([1,2,3]);
print $x;
I've managed to use Data::Dumper without "use" every appearing explicitly in the code.
Update: D'oh, I forgot to consider the all-important "wrap in an anonymous subroutine" part, which would seem to defer actual execution of the code. My bad.
$perlmonks{seattlejohn} = 'John Clyman'; |