c:\@Work\Perl\monks>perl -wMstrict -MData::Dump=pp -le "sub S { print qq{in S: args }, pp \@_; } ;; S(my $x = 'foo', my $y = 'bar'); print qq{outside S: \$x == $x, \$y == $y}; ;; sub S (); " Prototype mismatch: sub main::S: none vs () at -e line 1. in S: args ["foo", "bar"] outside S: $x == foo, $y == bar