$randomNumber = int(rand(100)) +1; if ($randomNumber < 100 and $randomNumber > 50) { $answer = "kbNtA"; } else { $answer = "WiaNq"; } print "Answer = [$answer]\n"; #### S:\PerlMonks>perl scope0.pl Answer = [kbNtA] S:\PerlMonks>perl scope0.pl Answer = [kbNtA] S:\PerlMonks>perl scope0.pl Answer = [kbNtA] S:\PerlMonks>perl scope0.pl Answer = [kbNtA] S:\PerlMonks>perl scope0.pl Answer = [WiaNq] #### #!/usr/bin/perl use strict; use warnings; $randomNumber = int(rand(100)) +1; if ($randomNumber < 100 and $randomNumber > 50) { $answer = "kbNtA"; } else { $answer = "WiaNq"; } print "Answer = [$answer]\n"; #### S:\PerlMonks>perl scope2.pl Global symbol "$randomNumber" requires explicit package name at scope2.pl line 5. Global symbol "$randomNumber" requires explicit package name at scope2.pl line 6. Global symbol "$randomNumber" requires explicit package name at scope2.pl line 6. Global symbol "$answer" requires explicit package name at scope2.pl line 7. Global symbol "$answer" requires explicit package name at scope2.pl line 9. Global symbol "$answer" requires explicit package name at scope2.pl line 11. Execution of scope2.pl aborted due to compilation errors. S:\PerlMonks> #### #!/usr/bin/perl use strict; use warnings; my $answer = ''; my $randomNumber = int(rand(100)) +1; if ($randomNumber < 100 and $randomNumber > 50) { $answer = "kbNtA"; } else { $answer = "WiaNq"; } print "Answer = [$answer]\n"; #### S:\Steve\Dev\PerlMonks\P-2017-05-20@2349-Variable-Scope-Failure>perl scope3.pl Answer = [WiaNq] S:\Steve\Dev\PerlMonks\P-2017-05-20@2349-Variable-Scope-Failure>perl scope3.pl Answer = [WiaNq] S:\Steve\Dev\PerlMonks\P-2017-05-20@2349-Variable-Scope-Failure>perl scope3.pl Answer = [kbNtA]