Just uploaded 0.02 version of Module::Overview to CPAN. This second version is mostly test and build fixes.
Beside the module itself, the distribution contains plmo script. When executed with a package name as argument, it will list all the parent classes, used modules and available methods with their sources. This may be especially useful for Moose classes that tends to use inheritance and couple of roles and thereby pull many functions and methods from multiple files to the package namespace. For example innocently looking HTML::FormHandler::Field::DateTime:
$ plmo HTML::FormHandler::Field::DateTime .------------------+--------------------------------------------------------------. | class | HTML::FormHandler::Field::DateTime | +------------------+--------------------------------------------------------------+ | parents | HTML::FormHandler::Field::Compound | | classes | HTML::FormHandler::Field | | | Moose::Object | +------------------+--------------------------------------------------------------+ | uses | DateTime | | | Moose | | | Try::Tiny | | | namespace::autoclean | +------------------+--------------------------------------------------------------+ | methods | BUILD() [HTML::FormHandler::Field::Compound] | | | BUILDALL() [Moose::Object] | | | BUILDARGS() [HTML::FormHandler::Field] | | | DEMOLISHALL() [Moose::Object] | | | DOES() [Moose::Object] | | | _apply_deflation() [HTML::FormHandler::Field] | | | _can_deflate() [HTML::FormHandler::Field] | | | _deflate_and_set_value() [HTML::FormHandler::Field] | | | add_element_class() [HTML::FormHandler::Field] | | | add_element_wrapper_class() [HTML::FormHandler::Field] | | | add_error() [HTML::FormHandler::Field] | | | add_label_class() [HTML::FormHandler::Field] | | | add_standard_element_classes() [HTML::FormHandler::Field] | | | add_standard_element_wrapper_classes() [HTML::FormHandler::- | | | Field] | | | add_standard_label_classes() [HTML::FormHandler::Field] | | | add_standard_wrapper_classes() [HTML::FormHandler::Field] | | | add_widget_name_space() [HTML::FormHandler::Field] | | | add_wrapper_class() [HTML::FormHandler::Field] | | | all_messages() [HTML::FormHandler::Field] | | | apply_rendering_widgets() [HTML::FormHandler::Field] | | | apply_traits() [HTML::FormHandler::Field] | | | attributes() [HTML::FormHandler::Field] | | | build_default_method() [HTML::FormHandler::Field] | | | build_default_over_obj() [HTML::FormHandler::Field] | | | build_element_attr() [HTML::FormHandler::Field] | | | build_element_class() [HTML::FormHandler::Field] | | | build_element_wrapper_class() [HTML::FormHandler::Field] | | | build_html_name() [HTML::FormHandler::Field] | | | build_label_attr() [HTML::FormHandler::Field] | | | build_label_class() [HTML::FormHandler::Field] | | | build_localize_meth() [HTML::FormHandler::Field] | | | build_render_filter() [HTML::FormHandler::Field] | | | build_result() [HTML::FormHandler::Field] | | | build_tags() [HTML::FormHandler::Field] | | | build_validate_method() [HTML::FormHandler::Field] | | | build_wrapper_attr() [HTML::FormHandler::Field] | | | build_wrapper_class() [HTML::FormHandler::Field] | | | build_wrapper_tags() [HTML::FormHandler::Field] | | | clear_input() [HTML::FormHandler::Field] | | | clear_value() [HTML::FormHandler::Field] | | | clone() [HTML::FormHandler::Field] | | | convert_full_name() [HTML::FormHandler::Field] | | | datetime_inflate() | | | default_build_label() [HTML::FormHandler::Field] | | | default_localize() [HTML::FormHandler::Field] | | | default_render_filter() [HTML::FormHandler::Field] | | | default_trim() [HTML::FormHandler::Field] | | | does() [Moose::Object] | | | element_attributes() [HTML::FormHandler::Field] | | | element_wrapper_attributes() [HTML::FormHandler::Field] | | | field_filename() [HTML::FormHandler::Field] | | | fif() [HTML::FormHandler::Field] | | | full_accessor() [HTML::FormHandler::Field] | | | full_name() [HTML::FormHandler::Field] | | | get_class_messages() | | | get_default_value() [HTML::FormHandler::Field] | | | get_html_attr() [HTML::FormHandler::Field] | | | get_message() [HTML::FormHandler::Field] | | | get_tag() [HTML::FormHandler::Field] | | | has_flag() [HTML::FormHandler::Field] | | | has_html_attr() [HTML::FormHandler::Field] | | | has_input() [HTML::FormHandler::Field] | | | has_some_value() [HTML::FormHandler::Field] | | | has_value() [HTML::FormHandler::Field] | | | html_attr() [HTML::FormHandler::Field] | | | html_element() [HTML::FormHandler::Field] | | | input() [HTML::FormHandler::Field] | | | input_defined() [HTML::FormHandler::Field] | | | input_type() [HTML::FormHandler::Field] | | | is_active() [HTML::FormHandler::Field] | | | is_form() [HTML::FormHandler::Field] | | | is_inactive() [HTML::FormHandler::Field] | | | is_repeatable() [HTML::FormHandler::Field] | | | label_attributes() [HTML::FormHandler::Field] | | | label_tag() [HTML::FormHandler::Field] | | | language_handle() [HTML::FormHandler::Field] | | | loc_label() [HTML::FormHandler::Field] | | | merge_tags() [HTML::FormHandler::Field] | | | peek() [HTML::FormHandler::Field] | | | push_errors() [HTML::FormHandler::Field] | | | required_text() [HTML::FormHandler::Field] | | | reset_result() [HTML::FormHandler::Field] | | | set_html_attr() [HTML::FormHandler::Field] | | | test_validate_field() [HTML::FormHandler::Field::Compound] | | | twidget() [HTML::FormHandler::Field] | | | twrapper() [HTML::FormHandler::Field] | | | uwidget() [HTML::FormHandler::Field] | | | uwrapper() [HTML::FormHandler::Field] | | | validate() | | | value() [HTML::FormHandler::Field] | | | value_changed() [HTML::FormHandler::Field] | | | wrapper() [HTML::FormHandler::Field] | | | wrapper_attributes() [HTML::FormHandler::Field] | | | wrapper_tag() [HTML::FormHandler::Field] | +------------------+--------------------------------------------------------------+ | methods_imported | DESTROY() | | | _active() [HTML::FormHandler::Field] | | | _add_element_class() [HTML::FormHandler::Field] | | | _add_element_wrapper_class() [HTML::FormHandler::Field] | | | _add_label_class() [HTML::FormHandler::Field] | | | _add_wrapper_class() [HTML::FormHandler::Field] | | | _anon_cache_key() [HTML::FormHandler::Field] | | | _apply_actions() [HTML::FormHandler::Field] | | | _array_fields() [HTML::FormHandler::Field::Compound] | | | _build_apply_list() [HTML::FormHandler::Field] | | | _build_fields() [HTML::FormHandler::Field::Compound] | | | _build_meta_field_list() [HTML::FormHandler::Field::Compoun- | | | d] | | | _clear_input() [HTML::FormHandler::Field] | | | _clear_value() [HTML::FormHandler::Field] | | | _default() [HTML::FormHandler::Field] | | | _fields_validate() [HTML::FormHandler::Field::Compound] | | | _find_field_class() [HTML::FormHandler::Field::Compound] | | | _find_parent() [HTML::FormHandler::Field::Compound] | | | _get_field_message() [HTML::FormHandler::Field] | | | _get_pin_result() [HTML::FormHandler::Field] | | | _get_tag() [HTML::FormHandler::Field] | | | _get_value() [HTML::FormHandler::Field::Compound] | | | _has_field_message() [HTML::FormHandler::Field] | | | _inner_validate_field() [HTML::FormHandler::Field] | | | _localize() [HTML::FormHandler::Field] | | | _make_adhoc_field() [HTML::FormHandler::Field::Compound] | | | _make_field() [HTML::FormHandler::Field::Compound] | | | _merge_updates() [HTML::FormHandler::Field::Compound] | | | _order_fields() [HTML::FormHandler::Field::Compound] | | | _pop_field() [HTML::FormHandler::Field::Compound] | | | _process_field_array() [HTML::FormHandler::Field::Compound] | | | _process_field_list() [HTML::FormHandler::Field::Compound] | | | _push_errors() [HTML::FormHandler::Field] | | | _result_from_fields() [HTML::FormHandler::Field::Compound] | | | _result_from_input() [HTML::FormHandler::Field::Compound] | | | _result_from_object() [HTML::FormHandler::Field::Compound] | | | _set_default() [HTML::FormHandler::Field] | | | _set_default_method() [HTML::FormHandler::Field] | | | _set_deflate_method() [HTML::FormHandler::Field] | | | _set_deflate_value_method() [HTML::FormHandler::Field] | | | _set_inflate_default_method() | | | _set_inflate_method() [HTML::FormHandler::Field] | | | _set_input() [HTML::FormHandler::Field] | | | _set_pin_result() [HTML::FormHandler::Field] | | | _set_result() [HTML::FormHandler::Field] | | | _set_value() [HTML::FormHandler::Field] | | | _update_or_create() [HTML::FormHandler::Field::Compound] | | | _validate() [HTML::FormHandler::Field] | | | accessor() [HTML::FormHandler::Field] | | | actions() [HTML::FormHandler::Field] | | | add_action() [HTML::FormHandler::Field] | | | add_error_field() [HTML::FormHandler::Field::Compound] | | | add_field() [HTML::FormHandler::Field::Compound] | | | add_field_name_space() [HTML::FormHandler::Field::Compound] | | | add_warning() [HTML::FormHandler::Field] | | | all_errors() [HTML::FormHandler::Field] | | | all_fields() [HTML::FormHandler::Field::Compound] | | | all_warnings() [HTML::FormHandler::Field] | | | apply_widget_role() [HTML::FormHandler::Field] | | | build_id() [HTML::FormHandler::Field] | | | build_id_method() [HTML::FormHandler::Field] | | | build_include() [HTML::FormHandler::Field::Compound] | | | build_include_method() [HTML::FormHandler::Field::Compound] | | | build_label() [HTML::FormHandler::Field] | | | build_label_method() [HTML::FormHandler::Field] | | | build_update_subfields() [HTML::FormHandler::Field::Compoun- | | | d] | | | by_flag_updates() [HTML::FormHandler::Field::Compound] | | | clean_fields() [HTML::FormHandler::Field::Compound] | | | clear_actions() [HTML::FormHandler::Field] | | | clear_active() [HTML::FormHandler::Field] | | | clear_data() [HTML::FormHandler::Field::Compound] | | | clear_errors() [HTML::FormHandler::Field] | | | clear_fields() [HTML::FormHandler::Field::Compound] | | | clear_inactive() [HTML::FormHandler::Field] | | | clear_init_value() [HTML::FormHandler::Field] | | | clear_item() [HTML::FormHandler::Field::Compound] | | | clear_result() [HTML::FormHandler::Field] | | | clear_update_subfields() [HTML::FormHandler::Field::Compoun- | | | d] | | | composed_class_name() [HTML::FormHandler::Field] | | | default() [HTML::FormHandler::Field] | | | default_build_include() [HTML::FormHandler::Field::Compound] | | | default_method() [HTML::FormHandler::Field] | | | default_over_obj() [HTML::FormHandler::Field] | | | deflate() [HTML::FormHandler::Field] | | | deflate_method() [HTML::FormHandler::Field] | | | deflate_value() [HTML::FormHandler::Field] | | | deflate_value_method() [HTML::FormHandler::Field] | | | deflation() [HTML::FormHandler::Field] | | | delete_element_attr() [HTML::FormHandler::Field] | | | delete_label_attr() [HTML::FormHandler::Field] | | | delete_tag() [HTML::FormHandler::Field] | | | delete_wrapper_attr() [HTML::FormHandler::Field] | | | disabled() [HTML::FormHandler::Field] | | | do_label() [HTML::FormHandler::Field::Compound] | | | do_wrapper() [HTML::FormHandler::Field::Compound] | | | does_wrap_label() [HTML::FormHandler::Field] | | | dump() [HTML::FormHandler::Field::Compound] | | | dump_fields() [HTML::FormHandler::Field::Compound] | | | dump_validated() [HTML::FormHandler::Field::Compound] | | | element_attr() [HTML::FormHandler::Field] | | | element_class() [HTML::FormHandler::Field] | | | element_wrapper_class() [HTML::FormHandler::Field] | | | error_fields() [HTML::FormHandler::Field::Compound] | | | errors() [HTML::FormHandler::Field] | | | exists_element_attr() [HTML::FormHandler::Field] | | | exists_label_attr() [HTML::FormHandler::Field] | | | exists_wrapper_attr() [HTML::FormHandler::Field] | | | field() [HTML::FormHandler::Field::Compound] | | | field_index() [HTML::FormHandler::Field::Compound] | | | field_list() [HTML::FormHandler::Field::Compound] | | | field_name_space() [HTML::FormHandler::Field::Compound] | | | fields() [HTML::FormHandler::Field::Compound] | | | fields_fif() [HTML::FormHandler::Field::Compound] | | | fields_from_model() [HTML::FormHandler::Field::Compound] | | | fields_set_value() [HTML::FormHandler::Field::Compound] | | | fif_from_value() [HTML::FormHandler::Field] | | | find_sub_item() [HTML::FormHandler::Field::Compound] | | | form() [HTML::FormHandler::Field] | | | get_element_attr() [HTML::FormHandler::Field] | | | get_label_attr() [HTML::FormHandler::Field] | | | get_language_handle() [HTML::FormHandler::Field] | | | get_widget_role() [HTML::FormHandler::Field] | | | get_wrapper_attr() [HTML::FormHandler::Field] | | | has__active() [HTML::FormHandler::Field] | | | has_actions() [HTML::FormHandler::Field] | | | has_default_method() [HTML::FormHandler::Field] | | | has_deflate_method() [HTML::FormHandler::Field] | | | has_deflate_value_method() [HTML::FormHandler::Field] | | | has_deflation() [HTML::FormHandler::Field] | | | has_element_attr() [HTML::FormHandler::Field] | | | has_element_class() [HTML::FormHandler::Field] | | | has_element_wrapper_class() [HTML::FormHandler::Field] | | | has_error_fields() [HTML::FormHandler::Field::Compound] | | | has_errors() [HTML::FormHandler::Field] | | | has_field_list() [HTML::FormHandler::Field::Compound] | | | has_fields() [HTML::FormHandler::Field::Compound] | | | has_form() [HTML::FormHandler::Field] | | | has_include() [HTML::FormHandler::Field::Compound] | | | has_inflate_default_method() | | | has_inflate_method() [HTML::FormHandler::Field] | | | has_init_value() [HTML::FormHandler::Field] | | | has_input_without_param() [HTML::FormHandler::Field] | | | has_label_attr() [HTML::FormHandler::Field] | | | has_label_class() [HTML::FormHandler::Field] | | | has_language_handle() [HTML::FormHandler::Field] | | | has_parent() [HTML::FormHandler::Field] | | | has_primary_key() [HTML::FormHandler::Field::Compound] | | | has_required_when() [HTML::FormHandler::Field] | | | has_result() [HTML::FormHandler::Field] | | | has_tag() [HTML::FormHandler::Field] | | | has_unique() [HTML::FormHandler::Field] | | | has_update_subfields() [HTML::FormHandler::Field::Compound] | | | has_warnings() [HTML::FormHandler::Field] | | | has_widget_tags() [HTML::FormHandler::Field::Compound] | | | has_wrapper_attr() [HTML::FormHandler::Field] | | | has_wrapper_class() [HTML::FormHandler::Field] | | | has_wrapper_tags() [HTML::FormHandler::Field] | | | html5_type_attr() [HTML::FormHandler::Field] | | | html_filter() [HTML::FormHandler::Field] | | | html_name() [HTML::FormHandler::Field] | | | id() [HTML::FormHandler::Field] | | | inactive() [HTML::FormHandler::Field] | | | include() [HTML::FormHandler::Field::Compound] | | | inflate() [HTML::FormHandler::Field] | | | inflate_default() | | | inflate_default_method() | | | inflate_method() [HTML::FormHandler::Field] | | | init_value() [HTML::FormHandler::Field] | | | input_param() [HTML::FormHandler::Field] | | | input_without_param() [HTML::FormHandler::Field] | | | is_compound() [HTML::FormHandler::Field::Compound] | | | is_contains() [HTML::FormHandler::Field] | | | item() [HTML::FormHandler::Field::Compound] | | | label() [HTML::FormHandler::Field] | | | label_attr() [HTML::FormHandler::Field] | | | label_class() [HTML::FormHandler::Field] | | | localize_meth() [HTML::FormHandler::Field] | | | match_when() [HTML::FormHandler::Field] | | | messages() [HTML::FormHandler::Field] | | | meta() | | | missing() [HTML::FormHandler::Field] | | | name() [HTML::FormHandler::Field] | | | new() | | | new_field_with_traits() [HTML::FormHandler::Field::Compound] | | | new_with_traits() [HTML::FormHandler::Field] | | | no_value_if_empty() [HTML::FormHandler::Field] | | | not_nullable() [HTML::FormHandler::Field] | | | noupdate() [HTML::FormHandler::Field] | | | num_actions() [HTML::FormHandler::Field] | | | num_error_fields() [HTML::FormHandler::Field::Compound] | | | num_errors() [HTML::FormHandler::Field] | | | num_fields() [HTML::FormHandler::Field::Compound] | | | num_warnings() [HTML::FormHandler::Field] | | | order() [HTML::FormHandler::Field] | | | parent() [HTML::FormHandler::Field] | | | password() [HTML::FormHandler::Field] | | | primary_key() [HTML::FormHandler::Field::Compound] | | | propagate_error() [HTML::FormHandler::Field::Compound] | | | push_field() [HTML::FormHandler::Field::Compound] | | | push_widget_name_space() [HTML::FormHandler::Field] | | | range_end() [HTML::FormHandler::Field] | | | range_start() [HTML::FormHandler::Field] | | | readonly() [HTML::FormHandler::Field] | | | render_filter() [HTML::FormHandler::Field] | | | required() [HTML::FormHandler::Field] | | | required_message() [HTML::FormHandler::Field] | | | required_when() [HTML::FormHandler::Field] | | | resolve_traits() [HTML::FormHandler::Field] | | | result() [HTML::FormHandler::Field] | | | set_default() [HTML::FormHandler::Field] | | | set_element_attr() [HTML::FormHandler::Field] | | | set_field_at() [HTML::FormHandler::Field::Compound] | | | set_label_attr() [HTML::FormHandler::Field] | | | set_language_handle() [HTML::FormHandler::Field] | | | set_message() [HTML::FormHandler::Field] | | | set_tag() [HTML::FormHandler::Field] | | | set_validate() [HTML::FormHandler::Field] | | | set_wrapper_attr() [HTML::FormHandler::Field] | | | sorted_fields() [HTML::FormHandler::Field::Compound] | | | style() [HTML::FormHandler::Field] | | | subfield() [HTML::FormHandler::Field::Compound] | | | tabindex() [HTML::FormHandler::Field] | | | tag_exists() [HTML::FormHandler::Field] | | | tags() [HTML::FormHandler::Field] | | | temp() [HTML::FormHandler::Field] | | | test_ranges() [HTML::FormHandler::Field] | | | title() [HTML::FormHandler::Field] | | | transform_trait() [HTML::FormHandler::Field] | | | trim() [HTML::FormHandler::Field] | | | type() [HTML::FormHandler::Field] | | | type_attr() [HTML::FormHandler::Field] | | | unique() [HTML::FormHandler::Field] | | | unique_message() [HTML::FormHandler::Field] | | | update_subfields() [HTML::FormHandler::Field::Compound] | | | validate_field() [HTML::FormHandler::Field] | | | validate_method() [HTML::FormHandler::Field] | | | validate_when_empty() [HTML::FormHandler::Field] | | | validated() [HTML::FormHandler::Field] | | | warnings() [HTML::FormHandler::Field] | | | widget() | | | widget_class() [HTML::FormHandler::Field] | | | widget_name_space() [HTML::FormHandler::Field] | | | widget_tags() [HTML::FormHandler::Field::Compound] | | | widget_wrapper() [HTML::FormHandler::Field] | | | with_traits() [HTML::FormHandler::Field] | | | wrap_label() [HTML::FormHandler::Field] | | | wrap_label_method() [HTML::FormHandler::Field] | | | wrapper_attr() [HTML::FormHandler::Field] | | | wrapper_class() [HTML::FormHandler::Field] | | | wrapper_tags() [HTML::FormHandler::Field] | | | writeonly() [HTML::FormHandler::Field] | '------------------+--------------------------------------------------------------'