Class::Accessor::Lvalue - create Lvalue accessors
package Foo;
use base qw( Class::Accessor::Lvalue );
__PACKAGE__->mk_accessors(qw( bar ))
my $foo = Foo->new;
$foo->bar = 42;
print $foo->bar; # prints 42
This module subclasses the Class::Accessor manpage in order to provide lvalue
accessor makers.
-
Though the Class::Accessor manpage mutators allows for the setting of multiple
values to an attribute, the mutators that this module creates handle
single scalar values only. This should not be too much of a
hinderance as you can still explictly use an anonymous array.
-
Due to the hoops we have to jump through to preserve the
Class::Accessor ->get and ->set behaviour this module is potentially
slow. Should you not need the flexibility granted by the ->get and
->set methods, it's highly reccomended that you use
the Class::Accessor::Lvalue::Fast manpage which is simpler and much faster.
Richard Clamp <richardc@unixbeard.net> with many thanks to Yuval
Kogman for helping with the groovy lvalue tie magic used in the main
class.
Copyright (C) 2003 Richard Clamp. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
the Class::Accessor manpage, the Class::Accessor::Lvalue::Fast manpage
|