in reply to Some trouble with closures

Can you expand on what you were trying to accomplish with your variable?

Typically, you have two types of data associated with a class: class data and object data. Object data is unique for each object, and is properly stored in attributes. Class data is shared between all objects that are in the class.

Here's a very simple classical Perl OO class with both class and object data.

package MyClass; my $instances = 0; # Class data as a lexical sub new { my $class = shift; my $self = { attribute => 'foo', }; bless $self, $class; $instances++; return $self; } sub DESTROY { my $self = shift; $instances--; return; } # Class data accessor # Could also be a mutator, but it doesn't makes sense here. sub instances { return $instances; } # Class data accessor/mutator sub attribute { my $self = shift; if( @_ ) { $self->{attribute} = shift; } return $self->{attribute}; }
1;


TGI says moo