Получить все методы и / или свойства в заданном классе или модуле 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. Я хотел бы отфильтровать все эти методы, чтобы получить только те, которые определены в данном пакете, а не в его родителях.

Может ли кто-нибудь предоставить элегантный способ фильтрации списка методов, как я предлагаю?

Заранее спасибо.

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

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