You ask an excellent question, but i worry about your motivation.
Wouldn't "perl -c your_file_here" serve quite well as a syntax checker?
Update: As it has been pointed out in a reply, perl (5.6.0 anyway) doesn't seem to care if you use undefined methods when run with -c ... I thought this behavior depended on wether the method was called with "&" or not ... but it doesn't seem to make a difference one way or another...
!/usr/local/bin/perl -wc
use strict;
sub foo {
return not_here("baz");
}
print &some_undef_method(1);
__END__
bester:~> tmp/monk.pl
tmp/monk.pl syntax OK