$ perl 947860.pl Global symbol "$letter" requires explicit package name at 947860.pl line 5. Global symbol "$letter" requires explicit package name at 947860.pl line 8. Global symbol "$letter" requires explicit package name at 947860.pl line 10. Execution of 947860.pl aborted due to compilation errors (#1) (F) You've said "use strict" or "use strict vars", which indicates that all variables must either be lexically scoped (using "my" or "state"), declared beforehand using "our", or explicitly qualified to say which package the global variable is in (using "::"). BEGIN not safe after errors--compilation aborted at /usr/lib/perl5/5.10/Carp/Heavy.pm line 11. Compilation failed in require at /usr/lib/perl5/5.10/Carp.pm line 33. #### use strict; use warnings; use diagnostics; my $letter = 'b'; addtwo(); addtwo(); print $letter; sub addtwo { $letter +=2; } #### Argument "b" isn't numeric in addition (+) at 947860a.pl line 10 (#1) (W numeric) The indicated string was fed as an argument to an operator that expected a numeric value instead. If you're fortunate the message will identify which operator was so unfortunate. 4 #### use strict; use warnings; use diagnostics; my $letter = 'b'; addtwo(); addtwo(); print $letter; sub addtwo { $letter++; $letter++; } #### f