http://www.perlmonks.org?node_id=1017416


in reply to Python OO v Moose

You're not really saying anything :) but then neither am I

1

package OurClass; use Badger::Class base => 'Badger::Base', mutators => 'arg1 arg2', config => 'arg1 arg2', init_method => 'configure', methods => { printargs => sub { my $self = shift; print $self->arg1, "\n", $self->arg2, "\n"; } }, ;;;;

2

package OurClass; use parent 'Badger::Base'; sub init { my ($self, $config) = @_; $self->{ arg1 } = $config->{ arg1 }; $self->{ arg2 } = $config->{ arg2 }; return $self; } sub arg1 { @_==2 and $_[0]->{arg1}=$_[1]; $_[0]->{ arg1 } } sub arg2 { @_==2 and $_[0]->{arg2}=$_[1]; $_[0]->{ arg2 } } sub printargs { my $self = shift; print $self->arg1, "\n", $self->arg2, "\n"; }

3

$ wc OurClass.pm 11 32 271 OurClass.pm
package OurClass; use Badger::Class base => 'Badger::Base', mutators => 'arg1 arg2', config => 'arg1 arg2', init_method => 'configure', ;;;; sub printargs { my $self = shift; print $self->arg1, "\n", $self->arg2, "\n"; }