summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/lib/strict.pm
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>2000-04-06 17:03:22 +0000
committermillert <millert@openbsd.org>2000-04-06 17:03:22 +0000
commite2e5c5d36e4398ba94879f0a31b0307421edcfdb (patch)
tree15b8472335eac9359a0b196bf3480d422401d8ff /gnu/usr.bin/perl/lib/strict.pm
parentonly call get_random_bytes() once in m_pad() (diff)
downloadwireguard-openbsd-e2e5c5d36e4398ba94879f0a31b0307421edcfdb.tar.xz
wireguard-openbsd-e2e5c5d36e4398ba94879f0a31b0307421edcfdb.zip
perl-5.6.0 + local changes
Diffstat (limited to 'gnu/usr.bin/perl/lib/strict.pm')
-rw-r--r--gnu/usr.bin/perl/lib/strict.pm11
1 files changed, 8 insertions, 3 deletions
diff --git a/gnu/usr.bin/perl/lib/strict.pm b/gnu/usr.bin/perl/lib/strict.pm
index 940e8bf7ff3..042227f967a 100644
--- a/gnu/usr.bin/perl/lib/strict.pm
+++ b/gnu/usr.bin/perl/lib/strict.pm
@@ -34,12 +34,14 @@ use symbolic references (see L<perlref>).
print $$ref; # ok
$ref = "foo";
print $$ref; # runtime error; normally ok
+ $file = "STDOUT";
+ print $file "Hi!"; # error; note: no comma after $file
=item C<strict vars>
This generates a compile-time error if you access a variable that wasn't
-declared via C<use vars>,
-localized via C<my()> or wasn't fully qualified. Because this is to avoid
+declared via "our" or C<use vars>,
+localized via C<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 L<perlfunc/my> and
L<perlfunc/local>.
@@ -50,12 +52,15 @@ L<perlfunc/local>.
local $foo = 9; # blows up
package Cinna;
- use vars qw/ $bar /; # Declares $bar in current package
+ 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 variables $a and $b are
+exempted from this check.
+
=item C<strict subs>
This disables the poetry optimization, generating a compile-time error if