You don't show us a script, but this is what use strict; does - it forces you to predeclare all the variable names you intend to use. This is a good thing because it finds typos like the following:
use strict; my $variable_with_a_very_long_name = 1; print "The value is >>$varaible_with_a_very_long_name<<";
As your script seems to work with use strict; commented out, likely your script contains no typos and all you need is to predeclare your global variables:
# for global variables: use vars qw(@users $account);
If a variable isn't used in global scope, you want to declare it lexically within the block it is used in via the my keyword:
for $user (@users) { $message = "Hello $user!"; ... }; # should become for my $user (@users) { my $message = "Hello $user!"; };
In reply to Re: Error - Global variable ....
by Corion
in thread Error - Global variable ....
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |