Man pages sections > man3 > Class::Accessor::Lvalue

Class::Accessor::Lvalue - create Lvalue accessors

Class::Accessor::Lvalue(3pm) User Contributed Perl Documentation Class::Accessor::Lvalue(3pm)

NAME

Class::Accessor::Lvalue - create Lvalue accessors

SYNOPSIS

 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

DESCRIPTION

This module subclasses Class::Accessor in order to provide lvalue accessor makers.

CAVEATS

Though Class::Accessor 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 explicitly 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 Class::Accessor::Lvalue::Fast which is simpler and much faster.

AUTHOR

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.

SEE ALSO

Class::Accessor, Class::Accessor::Lvalue::Fast
2015-06-08 perl v5.20.2