|
NAMEaccessors::ro - create 'classic' read-only accessor methods in caller's package.SYNOPSISpackage Foo; use accessors::ro qw( foo bar baz ); my $obj = bless { foo => 'read only? ' }, 'Foo'; # values are read-only, so set is disabled: print "oh my!\n" if $obj->foo( "set?" ) eq 'read only? '; # if you really need to change the vars, # you must use direct-variable-access: $obj->{bar} = 'i need a drink '; $obj->{baz} = 'now'; # always returns the current value: print $obj->foo, $obj->bar, $obj->baz, "!\n"; DESCRIPTIONThe accessors::ro pragma lets you create simple classic read-only accessors at compile-time.The generated methods look like this: sub foo { my $self = shift; return $self->{foo}; } They always return the current value, just like accessors::ro. PERFORMANCEThere is little-to-no performace hit when using generated accessors; in fact there is usually a performance gain.
See the benchmark tests included with this distribution for more details. CAVEATSClasses using blessed scalarrefs, arrayrefs, etc. are not supported for sake of simplicity. Only hashrefs are supported.AUTHORSteve Purkis <spurkis@cpan.org>SEE ALSOaccessors, accessors::rw, accessors::classic, accessors::chained, base
Visit the GSP FreeBSD Man Page Interface. |