strict man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

strict(3)	 Perl Programmers Reference Guide	strict(3)

NAME
       strict - Perl pragma to restrict unsafe constructs

SYNOPSIS
	   use strict;

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

	   use strict;
	   no strict "vars";

DESCRIPTION
       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.)	 Cur
       rently, 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
		 $file = "STDOUT";
		 print $file "Hi!";  # error; note: no comma after $file

	     There is one exception to this rule:

		 $bar = \&{'foo'};
		 &$bar;

	     is allowed so that "goto &$AUTOLOAD" would not break
	     under stricture.

       ""strict vars""
	     This generates a compile-time error if you access a
	     variable that wasn't declared via "our" or "use
	     vars", localized via "my()", or wasn't fully quali
	     fied.  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 manpage.

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

		 package Cinna;
		 our $bar;		     # Declares $bar in current package
		 $bar = 'HgS';		     # ok, global declared via pragma

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

	     Because of their special use by sort(), the vari
	     ables $a and $b are exempted from this check.

       ""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.

		 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 Pragmatic Modules entry in the perlmodlib manpage.

2001-02-22		   perl v5.6.1			strict(3)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net