in reply to How to do perl -c inside perl?

You might be able to get away with something like:
for my $code ('$x+$y', '$x+') { printf "code=[%-5s] syntax=%s\n", $code, eval('return 1; ' . $code) ? "ok" : "bad: $@"; }

But you need to consider the effects of things like BEGIN blocks.

Dave.