[ILUG] Silly perl question
Braun Brelin
bbrelin at gmail.com
Thu Aug 28 11:10:08 IST 2008
Doesn't use strict require that all variables be declared before they are
used regardless of whether they're global or local?
Braun
On Thu, Aug 28, 2008 at 11:06 AM, Jimmy O'Regan <joregan at gmail.com> wrote:
> 2008/8/28 Braun Brelin <bbrelin at gmail.com>:
> > Hello all,
> >
> > I have a silly Perl question. I'm running an Ubuntu Linux system (8.04),
> > with Perl 5.8.8.
> >
> > However, the 'use strict' pragma seems not to be working. I.e. I have
> the
> > following
> > Perl script:
> >
> > #!/usr/bin/perl
> >
> > use strict;
> >
> > $a=10;
> >
> > print "a = ",$a,"\n";
> >
> > This should fail miserably with an error about not having $a declared,
> but,
> > unfortunately, it doesn't. It just prints '10'.
> >
> > This isn't my normal machine so I'm not sure how Perl was built, although
> I
> > suspect
> > that it isn't anything more than a standard install. perl -V didn't
> really
> > give me any clues. Anything stupidly obvious that I'm missing?
>
> You've declared it as a global variable; 'my' is used to declare a
> local variable
>
> #!/usr/bin/perl
>
> use warnings;
> use strict;
>
> foo();
>
> sub foo
> {
> $a=10;
>
> print "a = ",$a,"\n";
> }
> print $a;
>
> gives:
> a = 10
> 10
> --
> Irish Linux Users' Group mailing list
> About this list : http://mail.linux.ie/mailman/listinfo/ilug
> Who we are : http://www.linux.ie/
> Where we are : http://www.linux.ie/map/
>
More information about the ILUG
mailing list