Hi Moose Folks, Perhaps there is a quick answer here, but I don't see one. Suppose I want to create an attribute that has a trigger that sets the value of the attribute 2higher than the input. It is easily done.
has 'foo' => ( is => 'rw' , isa => 'Int' , trigger => sub { $_[0]->{foo} = $_[1]+2 ; } , ); ... $object->foo(2); print $foo; # 4 Now, suppose that I use the syntax for defining attributes simultaneously, has [ qw(foo bar ) ] => ( is => 'rw' , isa => 'Int' , trigger => sub { $_[0]->{foo} = $_[1]+2 ; # ^^^^ } , ); $object->bar(2); print $object->bar; # 2 wrong print $object->foo; # 4 wrong Is there a simple way around this, i.e. to use simultaneous defined attributes with triggers? I suppose that I can use the caller function to get the name of the method, but I suspect that someone has found a better solution. If there is, I would love to hear it. Chris