do 'stat.pl';
####
eval `cat stat.pl`;
##
##
do ’stat.pl’;
##
##
eval ‘cat stat.pl‘;
##
##
# y.pl
use strict;
use warnings;
use diagnostics;
do 'x.pl';
print 'do: ', +( $@ ? $@ : 'ok' ), "\n";
eval `cat x.pl`;
print 'eval: ', +( $@ ? $@ : 'ok' ), "\n";
__END__
do: ok
Variable "$x" is not imported at (eval 2) line 1 (#1)
(F) While "use strict" in effect, you referred to a global variable that
you apparently thought was imported from another module, because
something else of the same name (usually a subroutine) is exported by
that module. It usually means you put the wrong funny character on the
front of your variable.
eval: Global symbol "$x" requires explicit package name at (eval 2) line 1.