Steve Purkis > accessors-1.01 > accessors::classic

Download:
accessors-1.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  2
Stalled  1
View/Report Bugs
Module Version: 1.01   Source  

NAME ^

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

SYNOPSIS ^

  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 ^

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 ^

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 ^

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

AUTHOR ^

Steve Purkis <spurkis@cpan.org>

SEE ALSO ^

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

syntax highlighting: