NAME Module::FeaturesUtil::Get - Get a feature from a module (following Module::Features specification) VERSION This document describes version 0.005 of Module::FeaturesUtil::Get (from Perl distribution Module-FeaturesUtil-Get), released on 2021-07-31. SYNOPSIS use Module::FeaturesUtil::Get qw( get_features_decl get_feature_val module_declares_feature ); # Get features declaration: my $features_decl = get_features_decl('Text::Table::Tiny'); # Get value of a feature: if (!get_feature_val('Text::Table::Tiny', 'TextTable', 'align_cell_containing_color_codes')) { # strip color codes first for ($str1, $str2) { s/\e\[[0-9;]+m/sg } } push @rows, [$str1, $str2]; # Check whether a module declares a feature: if (module_declares_feature('Text::Table::Tiny', 'TextTable', 'speed')) { ... } DESCRIPTION See "GLOSSARY" in Module::Features for terminology. FUNCTIONS get_feature_set_spec Usage: my $feature_set_spec = get_feature_set_spec($feature_set_name); Feature set specification will be retrieved from the "Module::Features::$feature_set_name" module. The module will NOT be loaded by this routine; you will need to load the module yourself. This module will also NOT check the validity of feature set specification. get_features_decl Usage: my $features_decl = get_features_decl($module_name); Features declaration is first looked up from proxy module's %FEATURES package variable, then from the module's %FEATURES. Proxy module is $module_name*::_ModuleFeatures*. You have to load the modules yourself; this routine will not load the modules for you. This routine will also NOT check the validity of features declaration. get_feature_val Usage: my $val = get_feature_val($module_name, $feature_set_name, $feature_name); Example: if (!get_feature_val('Text::Table::Tiny', 'TextTable', 'align_cell_containing_color_codes')) { # strip color codes first for ($str1, $str2) { s/\e\[[0-9;]+m/sg } } push @rows, [$str1, $str2]; Get the value of a feature from a module's features declaration. Features declaration is retrieved using "get_features_decl". This routine will also NOT check the validity of feature value against the specification's schema. module_declares_feature Usage: my $bool = module_declares_feature($module_name, $feature_set_name, $feature_name); Check whether module declares a feature. Features declaration is retrieved using "get_features_decl". This routine will also NOT check the feature set specification. HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. SEE ALSO Module::Features This module does not check whether a feature declaration is valid or whether a feature set specification is valid. To do that, use Module::FeaturesUtil::Check's "check_features_decl" and "check_feature_set_spec". AUTHOR perlancar COPYRIGHT AND LICENSE This software is copyright (c) 2021 by perlancar@cpan.org. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.