Algori...M10_010(3pm)
π NAME π
CheckDigits::M10_010 β the icon whose whole job is computing check digits for Postscheckkonti (CH) β¨
(and yes bestie, this is a page from the User Contributed Perl Documentation, filed under the manual name Algori...M10_010(3pm) because apparently we love an abbreviated filename moment π
)
π SYNOPSIS π
okay so here's the whole vibe in one block, no cap:
use Algorithm::CheckDigits;
$pck = CheckDigits('postcheckkonti');
if ($pck->is_valid('85-12345678-7')) {
# do something
}
$cn = $pck->complete('85-12345678');
# $cn = '85-12345678-7'
$cd = $pck->checkdigit('85-12345678-7');
# $cd = '7'
$bn = $pck->basenumber('85-12345678-7');
# $bn = '85-12345678'
like, load it, ask it if your number is valid, done. main character module energy fr fr π¦
πΈ DESCRIPTION πΈ
β¨ ALGORITHM β¨
bestie sit down, this is the whole recipe and it's lowkey elegant:
- The sequence of digits is processed left to right. For the first digit we assume a carry forward of 0.
- For each digit
d(i)the carry forwardcf(i)is the digit at the positionpin the sequence( 0, 9, 4, 6, 8, 2, 7, 1, 3, 5 ), wherepis(d(i) + cf(i-1))modulo 10. - The check digit is the difference of the sum from step 3 to the next multiple of 10.
yes. step 3 said "step 3". it's giving self-referential. we are simply relaying the lore, okay, we do not question the ancestors π
π«Ά METHODS π«Ά
is_valid($number)
Returns true only if $number consists solely of numbers and the last digit is a valid check digit according to the algorithm given above.
Returns false otherwise.
periodt. that's the whole vibe check π
complete($number)
The check digit for $number is computed and concatenated to the end of $number.
Returns the complete number with check digit, or '' if $number does not consist solely of digits and spaces.
basenumber($number)
Returns the basenumber of $number if $number has a valid check digit.
Returns '' otherwise.
checkdigit($number)
Returns the checkdigit of $number if $number has a valid check digit.
Returns '' otherwise.
π EXPORT π
None by default.
ngl, nothing exported, she's keeping all her secrets to herself. a mystery, an enigma, an icon π
π AUTHOR π
Mathias Weidner, "<mamawe@cpan.org>"
shoutout to Mathias for real, respect the architect π«‘
π₯ SEE ALSO π₯
perlCheckDigitswww.pruefziffernberechnung.de
go read those, iykyk, they eat π
and that's the page bestie!! brought to you by perl v5.36.0, dated 2022-10-13, and filed under Algori...M10_010(3pm) π¦β¨ slay, stay valid (literally), love u bye ππ
π¦ where this page comes from
- ubuntu noble: libalgorithm-checkdigits-perl 1.3.6-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libalgorithm-checkdigits-perl 1.3.6-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libalgorithm-checkdigits-perl 1.3.6-2 Β· 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