#!/usr/bin/perl # ABSTRACT: Program for querying Perl module versions # PODNAME: mversion use strict; use warnings; use Module::Version::App; my $app = Module::Version::App->new; exit $app->run; __END__ =pod =encoding UTF-8 =head1 NAME mversion - Program for querying Perl module versions =head1 VERSION version 0.201 =head1 SYNOPSIS This program shows you the version of a module or several modules, in a comfortable manner. mversion Dancer mversion --dev --full This That Another mversion -q -i modules.txt In Perl-world, we have many ways to determine a version of a module. You can run C<perl -MModule -le'print $Module::Version'>, but once the name is very long it becomes tiresome to write. We can try to load the module in a specific version that is (hopefully) greater than what we already have installed (if at all). That way we purposely inflict an error on the compiler and try to read the error msg. C<perl -MModule\ 9999>. This does not work on multiple modules at once. Some modules even have long version numbers, such as a date, and then you need to run C<perl -MModule\ 9999999999> which is seriously annoying. There are a few modules out there that get you the version number of other modules but none of them are applications, nor do they have enough options for comfortable day-to-day usage. This is where C<mversion> comes in. =head1 OPTIONS =over 4 =item -f, --full This outputs both the name and the version of module, instead of just the version number. mversion -f ThisModule ThatModule mversion --full ThisModule ThatModule =item -I, --include DIRECTORY, -I MORE, -I EVENMORE This lets you add any number of directories to include when trying to get a version number. This is very helpful when you're trying to check if the version of a module in a specific folder is different than the default one. # get the version of ThisModule mversion ThisModule # get the version of ThisModule from directory dev_releases mversion -I dev_releases ThisModule You can include more directories by repeating the flag and argument again. There is no limit to how many directories you can include. =item -i, --input FILE This reads a list of modules from a file. mversion -i my_modules.txt mversion --input my_modules.txt =item -l, --local-lib DIR Includes the L<local::lib> DIR in the module paths. =item -d, --dev This shows the developer versions (0.01_01) just as that instead of eval()ing them. mversion -d Test::More mversion --dev Test::More =item -q, --quiet Usually if a module does not exist, C<mversion> will warn about it. This allows you to silent those warnings and just carry on. mversion -q This::Does::Not::Exist But::This::Does mversion --quiet This::Does::Not::Exist But::This::Does =back =head1 SEE ALSO L<Module::Version> Github page at L<http://github.com/xsawyerx/module-version>. =head1 AUTHOR Sawyer X =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2010-2018 by Sawyer X. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut