Re: Help with strict
by Lyle other posts by this author
Aug 22 2008 6:45PM messages near this date
Help with strict
|
RE: Help with strict
Barry Brevik wrote:
> I have seen it said many times, on this list, that we should always
> have:
>
> use strict;
>
> I have tried to use this many times, but all it does is give me hundreds
> of errors like this:
>
> Global symbol "$version" requires explicit package name at
> domainctrl.pl line 10.
> Global symbol "%cmptrlist" requires explicit package name at
> domainctrl.pl line 18.
>
> All of these are variables created in the main body of the program... I
> suppose that they are technically part of the "main" package, but if
> strict is trying to tell me that I have to refer to these as
> main::$version (for example), I don't think that I am willing to go
> there.
>
> Can anyone tell me what is going on here?
>
It's saying that these variables haven't been defined. E.g. they haven't
been declared local variables with 'my' such as
my $version;
Or you haven't declared them as Global with 'our' such as
our $version;
Note that 'our' is only in Perl 5.8 and up. Previously Globals had to be
declared with use vars, such as
use vars qw( $version );
You can still 'use vars' post Perl 5.8, some people prefer it to 'our'
and it's good for backwards compatibility (and keeping all your globals
listed in one place)
Lyle
_______________________________________________
ActivePerl mailing list
ActivePerl@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Thread:
Barry Brevik
Lyle
Brian Raven
Serguei Trouchelle
Bill Luebkert
|