Perl my and our in for for variable give false results

perl -e 'print for (map {for (my $i=0; $i<=2; $i++) {print $_ * $i}} (1,2,3))'

      

gives: 0 1 2 0 2 4 0 1 4

perl -e 'print for (map {for (our $i=0; $i<=2; $i++) {print $_ * $i}} (1,2,3))'

      

gives: 0 1 2 0 2 4 0 3 6

Please enlighten me on the above inappropriate results

+3


source to share





All Articles