Package Wibble; use Moose; has 'thingies' => ( is => 'rw', isa => 'ArrayRef' ); ## Things I don't understand yet go here... Package main; use Wibble; my $w = Wibble->new( thingies => [ 'this', 'that' ]); print join(", ",$w->thingies())."\n"; # prints "this, that" # here's the bit that I want to make work $w->thingies('another'); print join(", ",$w->thingies())."\n"; # prints "this, that, another"