accessors::classic - create 'classic' read/write accessor methods in caller's package.


accessors documentation  | view source Contained in the accessors distribution.

Index


NAME

Top

accessors::classic - create 'classic' read/write accessor methods in caller's package.

SYNOPSIS

Top

  package Foo;
  use accessors::classic qw( foo bar baz );

  my $obj = bless {}, 'Foo';

  # always return the current value, even on set:
  $obj->foo( 'hello ' ) if $obj->bar( 'world' ) eq 'world';

  print $obj->foo, $obj->bar, $obj->baz( "!\n" );

DESCRIPTION

Top

The accessors::classic pragma lets you create simple classic Perl accessors at compile-time.

The generated methods look like this:

  sub foo {
      my $self = shift;
      $self->{foo} = shift if (@_);
      return $self->{foo};
  }

They always return the current value.

Note that there is no dash (-) prepended to the property name as there are in accessors. This is for backwards compatability.

PERFORMANCE

Top

There 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.

CAVEATS

Top

Classes using blessed scalarrefs, arrayrefs, etc. are not supported for sake of simplicity. Only hashrefs are supported.

AUTHOR

Top

Steve Purkis <spurkis@cpan.org>

SEE ALSO

Top

accessors, accessors::rw, accessors::ro, accessors::chained, base


accessors documentation  | view source Contained in the accessors distribution.