Вам придется создать подкласс MooseX::Declare::Syntax::Keyword::Class
и, возможно, также MooseX::Declare::Syntax::Keyword::Role
, если вы этого хотите, и настроить import_symbols_from
там.
Затем вы сами расширяете MooseX::Declare
для предоставления ваших измененных ключевых слов. Для этого вам нужно настроить метод keywords
. Вы можете либо заменить возвращенные им экземпляры ClassKeyword и RoleKeyword на экземпляры ваших настроенных ключевых слов, либо просто настроить новые ключевые слова под другим идентификатором, в зависимости от того, хотите ли вы
use MyMooseX::Declare;
class Foo { ... } # the modified class keyword
или
use MyMooseX::Declare;
class Foo { ... } # the default class keyword
myclass Bar { ... } # the modified class keyword
CatalystX :: Declare содержит предшествующий уровень техники в этом, но это также намного сложнее, чем вы просите. Я не знаю более простого примера этого, но я хотел бы включить улучшенную документацию по этому вопросу, если вы хотите поделиться своим решением с остальным миром