NAME Module::List::Wildcard - A fork of Module::List that groks wildcard VERSION This document describes version 0.004009 of Module::List::Wildcard (from Perl distribution Module-List-Wildcard), released on 2021-01-16. SYNOPSIS Use like you would Module::List, e.g.: use Module::List::Wildcard qw(list_modules); $id_modules = list_modules("Data::ID::", { list_modules => 1}); $prefixes = list_modules("", { list_prefixes => 1, recurse => 1 }); Wildcard support: $modules = list_modules("Module::P*", { wildcard => 1, list_modules => 1}); $modules = list_modules("Module::P**", { wildcard => 1, list_modules => 1}); "all" option: $modules = list_modules("Module::", { list_modules => 1, all => 1}); DESCRIPTION This module is a fork of Module::List. It's exactly like Module::List 0.004, except for the following differences: * lower startup overhead (with some caveats) It strips the usage of Exporter, IO::Dir, Carp, File::Spec, with the goal of saving a few milliseconds (a casual test on my PC results in 11ms vs 39ms). Path separator is hard-coded as "/". * Recognize "wildcard" option This boolean option can be set to true to recognize wildcard pattern in prefix. Wildcard patterns such as jokers ("?", "*", "**"), classes ("[a-z]"), as well as braces ("{One,Two}") are supported. "**" implies recursive listing (sets "recurse" option to 1). Examples: list_modules("Module::P*", {wildcard=>1, list_modules=>1}); results in something like: { "Module::Patch" => undef, "Module::Path" => undef, "Module::Pluggable" => undef, } while: list_modules("Module::P**", {wildcard=>1, list_modules=>1}); results in something like: { "Module::Patch" => undef, "Module::Path" => undef, "Module::Path::More" => undef, "Module::Pluggable" => undef, "Module::Pluggable::Object" => undef, } while: list_modules("Module::**le", {wildcard=>1, list_modules=>1}); results in something like: { "Module::Depakable" => undef, "Module::Install::Admin::Bundle" => undef, "Module::Install::Admin::Makefile" => undef, "Module::Install::Bundle" => undef, "Module::Install::Makefile" => undef, "Module::Pluggable" => undef, } HOMEPAGE Please visit the project's homepage at <https://metacpan.org/release/Module-List-Wildcard>. SOURCE Source repository is at <https://github.com/perlancar/perl-Module-List-Wildcard>. BUGS Please report any bugs or feature requests on the bugtracker website <https://github.com/perlancar/perl-Module-List-Wildcard/issues> 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::List Module::List::Tiny Module::List::More, from which Module::List::Wildcard is actually forked from. Module::List::More contains more features, including wildcard support. I'm currently maintainng both modules. Eventually this duplication might be resolved in the future. AUTHOR perlancar <perlancar@cpan.org> COPYRIGHT AND LICENSE This software is copyright (c) 2021, 2020, 2019 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.