where does one put use strict

Ryan, Martin Martin.Ryan at sensis.com.au
Tue Oct 1 23:28:28 CDT 2002


Hi Scott,

The perlfunc manpage explains in general terms what "use" does before going
on to say this;

               Because this is a wide-open interface, pragmas
               (compiler directives) are also implemented this
               way.  Currently implemented pragmas are:
 
                   use integer;
                   use diagnostics;
                   use sigtrap qw(SEGV BUS);
                   use strict  qw(subs vars refs);
                   use subs    qw(afunc blurfl);
 
               Some of these these pseudo-modules import
               semantics into the current block scope (like
               strict or integer, unlike ordinary modules, which
               import symbols into the current package (which are
               effective through the end of the file).
 
My interpretation of this is that pragamas are effective from when they're
mentioned through to the end of the current block scope which in your case
is the end of the current file.  Earlier up the man page "use" is defined as
equivalent to;
       BEGIN { require Module; import Module LIST; }
So, I'd suggest that when you do a "use blah" and the blah module has a "use
strict" before the package line, you're going to "require" the module, and
the "strict" diretive will be in effect from when it's mentioned through to
the end of the file that has the blah module - blah.pm under normal
circumstances.

Cheers,
Martin

-----Original Message-----
From: Scott Penrose
To: melbourne-pm at pm.org
Sent: 2/10/02 13:37
Subject: where does one put use strict

Hey Dudes,

I have been working on some code which inserts 'use strict' before the 
package line
eg:
	use strict;
	use warnings;

	package Blah;
	use Another;

Now what concerns me about this is that strict and warning then appears 
outside of the package, and therefore in whatever contains the use, or 
does it ?

What is the effect of putting these outside of the package line ?

Scott
-- 
Scott Penrose
VP in charge of Pancakes
http://linux.dd.com.au/
scottp at dd.com.au

Dismaimer: If you receive this email in error - please eat it 
immediately to prevent it from falling into the wrong hands.



More information about the Melbourne-pm mailing list