Running the following program outputs: Perl 5.008004 undef undef undef 2 but it should output: Perl 5.008004 undef undef undef undef #### #!/usr/bin/perl -w print "Perl $]\n"; sub show { my ($val) = @_; if (! defined $val) { print "undef\n"; } else { print "$val\n"; } } sub sb { my $v1; $v1 = -1 if 0; my $v2 = -2 if 0; show $v1; show $v2; $v1 = 1; $v2 = 2; } sb; sb;