Как я могу гибко добавлять данные в объекты Moose?

Я пишу модуль для объекта лося. Я хотел бы позволить пользователю, использующему этот объект (или мне самому), добавлять некоторые поля на лету, как он / она желает. Я не могу определить эти поля априори, так как просто не знаю, какими они будут.

В настоящее время я просто добавил одно поле с именем extra типа hashref, которое установлено вrwтак что пользователи могут просто помещать вещи в этот хеш:

# $obj is a ref to my Moose object    
$obj->extra()->{new_thingie}="abc123"; # adds some arbitrary stuff to the object
say $obj->extra()->{new_thingie};

Это работает. Но ... это обычная практика? Какие-нибудь другие (возможно, более изящные) идеи?

Заметьте, я не хочу создавать еще один модуль, расширяющий этот, это действительно просто для вещей на лету, которые я хотел бы добавить.

Ответы на вопрос(4)

Ваш ответ на вопрос