my $perl = shift; $code = eval "sub { local \$_ = shift; $perl; return $_ }" or die "Syntax error: $@"; foreach my $var (@lots_of_data) { $var = $code->($var) }