fields-aliased version 1.04

NAME

fields::aliased - create aliases for fields

SYNOPSIS

package MyPackage;
use strict;
use fields::aliased;
use fields qw($scalar @array %hash);

sub new {

        my $self = fields::new(shift);
        fields::aliased::init($self);
        use fields::aliased qw($self $scalar @array %hash);

        $scalar = 1;
        @array = ('foo', 'bar');
        %hash = ('foo' => 'bar', 'baz' => 'huh?');

        return $self;

}

sub myMethod {

        my MyPackage $self = shift;
        use fields::aliased qw($self $scalar @array %hash);

        ...

}

DESCRIPTION

This module is a companion to the 'fields' module, which allows efficient handling of instance variables with checking at compile time. 'fields::aliased' goes one step further and creates lexical aliases to the fields used by a method, so that they can be used as regular lexical variables. This makes code shorter and also easier to read.

CHANGES

Version 1.04 admits that the private fields in superclasses thing isn't going to work transparently, and stops trying to initialize them.

Version 1.03 make some changes so that private fields in superclasses work as expected.

Version 1.02 adds some additional code in the XS source (a function I am using turns out not to be universally available).

Version 1.01 corrects the MANIFEST.

Version 1.00 was the initial release.

INSTALLATION

To install this module, use the standard incantation:

        perl Makefile.PL
        make
        make test
        make install

DEPENDENCIES

This module requires these other modules and libraries:

Tie::IxHash, Filter::Util::Call, Test::More (for the tests)

COPYRIGHT AND LICENCE

Copyright (C) 2004 by Kevin Michael Vail

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Kevin Michael Vail <kvail@cpan.org>