Correct precedence problem in #15915
Rafael Garcia-Suarez [Sun, 14 Apr 2002 19:30:41 +0000 (19:30 +0000)]
p4raw-id: //depot/perl@15916

lib/vars.pm

index f6125fb..c3a0223 100644 (file)
@@ -20,11 +20,12 @@ sub import {
                Carp::croak("Can't declare individual elements of hash or array");
            } elsif (warnings::enabled() and length($sym) == 1 and $sym !~ tr/a-zA-Z//) {
                warnings::warn("No need to declare built-in vars");
-            } elsif  ( $^H &= strict::bits('vars') &&
+            } elsif  (($^H &= strict::bits('vars')) &&
                       # Either no 'use utf8' or if utf8, no non-word
-                      ($^H & $utf8::hint_bits == 0 ||
+                      ($^H & 0x00800000 == 0 || # matches $utf8::hint_bits
                        $sym =~ /\W/) ) {
-                 Carp::croak("'$_' is not a valid variable name under strict vars");
+               require Carp;
+               Carp::croak("'$_' is not a valid variable name under strict vars");
            }
        }
        $sym = "${callpack}::$sym" unless $sym =~ /::/;