Sawyer X > Module-Version-0.12 > mversion


Annotate this POD


Open  1
View/Report Bugs


mversion - Program to get module versions


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 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. 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 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 mversion comes in.


-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

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.

-i, --input FILE

This reads a list of modules from a file.

    mversion -i my_modules.txt
    mversion --input my_modules.txt
-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
-q, --quiet

Usually if a module does not exist, 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



Github page at


Copyright 2010 Sawyer X.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See for more information.

syntax highlighting: