(cmd.exe has different shell quoting!) %perl -w -Mstrict -e "my ($v) = '';" (no warnings) #### %perl -w -Mstrict -e "my ($v) = 'a'; print $v;" a #### %perl -w -Mstrict -e "my ($v,$s) = 'a'; print $v, $s;" aUse of uninitialized value in print at -e line 1. #### %perl -w -Mstrict -e "my ($v,$s) = ('a'); print $v, $s;" aUse of uninitialized value in print at -e line 1. #### %perl -w -Mstrict -e "my ($v,$s) = ('a', 'b'); print $v, $s;" ab #### %perl -w -Mstrict -e "my ($v,$s) = 'a', 'b'; print $v, $s;" Useless use of a constant in void context at -e line 1. aUse of uninitialized value in print at -e line 1.