PERL-REVERSION(1p)
π perl-reversion β the manual, but make it make sense π
okay bestie, this is PERL-REVERSION(1p) from the User Contributed Perl Documentation corner of the world, and it is genuinely one of those little tools that saves your whole life. it's called perl-reversion and it is so good. buckle up π
β¨ NAME β¨
perl-reversion β Manipulate project version numbers
like. it edits your version numbers for you. everywhere. at once. no cap. π
πΈ SYNOPSIS πΈ
perl-reversion [options] [file ...]
Options:
-help see this summary
-man view man page for perl-reversion
-bump make the smallest possible increment
-bump-revision increment the specified version component
-bump-version
-bump-subversion
-bump-alpha
-set <version> set the project version number
-current <version> specify the current version
-dskip specify a directory not to searched
you can specify this multiple times
-normal print current version in a specific format OR
-numify force versions to be a specific format,
-stringify with -set or -bump
-dryrun just go through the motions, but don't
actually save files
(yeah the not to searched is in there, that's the original's grammar, we don't touch it, we just vibe π«Ά)
π¦ DESCRIPTION π¦
so here's the situation: a typical distribution of a Perl module has embedded version numbers in a number of places. classic. usually the version shows up in the README file and in the source of each module. and for a module, the version might appear twice β once in the code and once in the pod. yes really. twice. every time.
this script makes it possible to update all of those version numbers with a simple command. iconic honestly π
if you want to update specific files, just name them on the command line. any directories you pass get recursively expanded β she'll go find everything herself, she's thorough like that.
and if you use it with no filename arguments, perl-reversion will attempt to update README and any files below lib/ in the current project. it just knows. π§
π OPTIONS π
-bumpβ try to make the smallest possible increment to the version. the least significant part of the version string gets bumped. so:
1 => 2
1.1 => 1.2
1.1.1 => 1.1.2
1.1.1_1 => 1.1.1_2
-bump-revision-bump-version-bump-subversion-bump-alphaβ increment the specified version component. just like theinc_*methods of Perl::Version, incrementing a component sets all the components to the right of it to zero. so yeah, that ripple effect is real, be aware. π-set <version>β set the version to the specified value. unless the-normaloption is also specified, the format of each individual version string will be preserved. she respects the fit. π-current <version>β specify the current version. only matching version strings will be updated. it's giving selective. β¨-dskip <dir>β specify the directory dir not to search. you can pick this option multiple times, so go ahead and skip as many as your heart desires. π«π-normal-numify-stringifyβ use a specific formatting, as in"Formatting" in Perl::Version.
alone, these options control how the current (found) version is displayed.
with -bump or -set, they also update version strings to have the given formatting β regardless of the version format passed to -set, or the current version (for -bump).
if none of these options are specified, perl-reversion will preserve the formatting of each individual version string (the same as -stringify). β¨
-dryrunβ if set,perl-reversionwill not save files. use this to see what gets changed before it actually happens. no take-backs, so like. always dry run first bestie π
π₯ SOURCE π₯
the source is available at:
https://github.com/briandfoy/perl-version
go get it π
π AUTHOR π
Andy Armstrong <andy@hexten.net>
currently maintained by brian d foy.
π LICENCE AND COPYRIGHT π
Copyright (c) 2007, Andy Armstrong <andy@hexten.net>. All rights reserved.
this module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
π DISCLAIMER OF WARRANTY π
(putting this here in full because legal text does not do vibes, it does CAPS LOCK, and we do not paraphrase legal text β periodt π)
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
that's the whole page bestie, nothing skipped, promise π€
and oh β this whole thing is perl v5.40.1, dated 2026-02-25. so like, the timestamp said so, and I never make stuff up. slay π
β¨ππ¦
π¦ where this page comes from
- ubuntu stonking: libperl-version-perl 1.019-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms