*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> perl5/strict (3)              


strict(3)							     strict(3)

NAME    [Toc]    [Back]

     strict - Perl pragma to restrict unsafe constructs

SYNOPSIS    [Toc]    [Back]

	 use strict;

	 use strict "vars";
	 use strict "refs";
	 use strict "subs";

	 use strict;
	 no strict "vars";

DESCRIPTION    [Toc]    [Back]

     If	no import list is supplied, all	possible restrictions are assumed.
     (This is the safest mode to operate in, but is sometimes too strict for
     casual programming.)  Currently, there are	three possible things to be
     strict about:  "subs", "vars", and	"refs".

     strict refs
	   This	generates a runtime error if you use symbolic references (see
	   the perlref manpage).

	       use strict 'refs';
	       $ref = \$foo;
	       print $$ref;	   # ok
	       $ref = "foo";
	       print $$ref;	   # runtime error; normally ok

     strict vars
	   This	generates a compile-time error if you access a variable	that
	   wasn't localized via	my() or	wasn't fully qualified.	 Because this
	   is to avoid variable	suicide	problems and subtle dynamic scoping
	   issues, a merely local() variable isn't good	enough.	 See the my
	   entry in the	perlfunc manpage and the local entry in	the perlfunc

	       use strict 'vars';
	       $X::foo = 1;	    # ok, fully	qualified
	       my $foo = 10;	    # ok, my() var
	       local $foo = 9;	    # blows up

	   The local() generated a compile-time	error because you just touched
	   a global name without fully qualifying it.

     strict subs
	   This	disables the poetry optimization, generating a compile-time
	   error if you	try to use a bareword identifier that's	not a
	   subroutine, unless it appears in curly braces or on the left	hand
	   side	of the "=>" symbol.

									Page 1

strict(3)							     strict(3)

	       use strict 'subs';
	       $SIG{PIPE} = Plumber;	   # blows up
	       $SIG{PIPE} = "Plumber";	   # just fine:	bareword in curlies always ok
	       $SIG{PIPE} = \&Plumber;	   # preferred form

     See the section on	Pragmatic Modules in the perlmod manpage.

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
ops IRIX Perl pragma to restrict unsafe operations when compiling
constant IRIX Perl pragma to declare constants
subs IRIX Perl pragma to predeclare sub names
less IRIX perl pragma to request less of something from the compiler
integer IRIX Perl pragma to compute arithmetic in integer instead of double
sigtrap IRIX Perl pragma to enable simple signal handling
vars IRIX Perl pragma to predeclare global variable names
locale IRIX Perl pragma to use and avoid POSIX locales for built-in operations
diagnostics IRIX Perl compiler pragma to force verbose warning diagnostics splain - standalone program to do the same thing
perljp OpenBSD AEuEU,i Perl Y~YxYE `A^a`I`A Perl xIAx3|xOxex|x3x1/2! Perl 5.8.0 xexeicUni- _ codeYuYYi1/4YEx~AcEyxE...
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service