my $code = << 'EOC'; sub mySub() { print "args: @_\n"; } EOC eval $code; print qq(\ncalling 'mySub()'\n); eval 'mySub()'; print "error: $@" if $@; print qq(\ncalling 'mySub("hello world")'\n); eval 'mySub("hello world")'; print "error: $@" if $@; #### calling 'mySub()' args: calling 'mySub("hello world")' error: Too many arguments for main::mySub at (eval 3) line 2, near ""hello world")