dec-pl - Decrement variable using Perl's auto-decrement notion
This document describes version 0.001 of dec-pl (from Perl distribution App-IncrementUtils), released on 2019-01-25.
% dec-pl B b00 2.3 A a99 1.3
This very simple script decrements its arguments using Perl module Data::Decrement, which basically tries to provide the counterpart to Perl's ++ (auto-increment) operator. The auto-increment rules, taken from perlop and copied here for convenience, are the following:
++
The auto-increment operator has a little extra builtin magic to it. If you increment a variable that is numeric, or that has ever been used in a numeric context, you get a normal increment. If, however, the variable has been used in only string contexts since it was set, and has a value that is not the empty string and matches the pattern "/^[a-zA-Z]*[0-9]*\z/", the increment is done as a string, preserving each character within its range, with carry: print ++($foo = "99"); # prints "100" print ++($foo = "a0"); # prints "a1" print ++($foo = "Az"); # prints "Ba" print ++($foo = "zz"); # prints "aaa" "undef" is always treated as numeric, and in particular is changed to 0 before incrementing (so that a post-increment of an undef value will return 0 rather than "undef"). The auto-decrement operator is not magical.
Specify how many times to decrement.
Please visit the project's homepage at https://metacpan.org/release/App-IncrementUtils.
Source repository is at https://github.com/perlancar/perl-App-IncrementUtils.
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=App-IncrementUtils
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.
Data::Decrement
perlancar <perlancar@cpan.org>
This software is copyright (c) 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.
To install App::IncrementUtils, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::IncrementUtils
CPAN shell
perl -MCPAN -e shell install App::IncrementUtils
For more information on module installation, please visit the detailed CPAN module installation guide.