Получить все методы и / или свойства в заданном классе или модуле Perl
Я имею дело с очевидной простой проблемой.
Я пишу модуль, похожий наUML :: Класс :: Simple но с некоторыми улучшениями. Подводя итог, идея состоит в том, чтобы получить карточку записи для каждого модуля в данном источнике, содержащую информацию о методах, свойствах, зависимостях и дочерних элементах. Моя текущая проблема заключается в получении методов и свойств для каждого модуля. Давайте посмотрим код, который я уже написал:
use Class::Inspector;
use Data::Dumper;
sub _load_methods{
my $pkg = shift;
my $methods = Class::Inspector->methods( $pkg, 'expanded' );
print Dumper $methods;
return 1;
}
Вызывая эту функцию для данного пакета, я получаю больше методов, чем ожидаю. Причина вКласс :: Инспектор возвращает все унаследованные методы, а также методы доступа, если модуль является Moose :: Object. Я хотел бы отфильтровать все эти методы, чтобы получить только те, которые определены в данном пакете, а не в его родителях.
Может ли кто-нибудь предоставить элегантный способ фильтрации списка методов, как я предлагаю?
Заранее спасибо.