Two Configure tweaks; the u32align test was trying
[p5sagit/p5-mst-13.2.git] / lib / fields.pm
index 734cc0d..be2a7ae 100644 (file)
@@ -57,7 +57,7 @@ class fields using this pragma, then the operation is turned into an
 array access at compile time.
 
 The related C<base> pragma will combine fields from base classes and any
-fields declared using the C<fields> pragma.  This enables fields
+fields declared using the C<fields> pragma.  This enables field
 inheritance to work properly.
 
 Field names that start with an underscore character are made private to
@@ -85,9 +85,9 @@ This makes it possible to write a constructor like this:
 
     sub new {
        my Critter::Sounds $self = shift;
-       $self = fields::new($class) unless ref $self;
+       $self = fields::new($self) unless ref $self;
        $self->{cat} = 'meow';                          # scalar element
-       @$self->{'dog','bird'} = ('bark','tweet');      # slice
+       @$self{'dog','bird'} = ('bark','tweet');        # slice
        return $self;
     }
 
@@ -127,12 +127,13 @@ L<perlref/Pseudo-hashes: Using an array as a hash>
 
 =cut
 
-use 5.005_64;
+use 5.006_001;
 use strict;
 no strict 'refs';
+use warnings::register;
 our(%attr, $VERSION);
 
-$VERSION = "1.01";
+$VERSION = "1.02";
 
 # some constants
 sub _PUBLIC    () { 1 }
@@ -171,7 +172,7 @@ sub import {
        if ($fno and $fno != $next) {
            require Carp;
             if ($fno < $fattr->[0]) {
-                Carp::carp("Hides field '$f' in base class") if $^W;
+                warnings::warnif("Hides field '$f' in base class") ;
             } else {
                 Carp::croak("Field name '$f' already in use");
             }