The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# Testing various types of eval calls. Some are processed differently internally

sub foo {
  print "in sub foo\n";
}

sub bar {
  print "in sub bar\n";
}

sub baz {
  print "in sub baz\n";
  eval { foo();    # two stmts executed on this line (eval + foo() call)
         foo(); }; # one stmt  executed on this line
  eval { x();      # two stmts executed on this line (eval + x() call), fails out of eval
         x(); };   # zero stmts because previous statement threw an exception
}

eval "foo();";     # one stmt in this fid, one statement in eval fid
eval { bar(); };   # two stmts
baz();