Algori...M10_010(3pm)

πŸ“¦
version 1.3.6 Β· 5 versions
, in ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– 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:

  1. The sequence of digits is processed left to right. For the first digit we assume a carry forward of 0.
  2. For each digit d(i) the carry forward cf(i) is the digit at the position p in the sequence ( 0, 9, 4, 6, 8, 2, 7, 1, 3, 5 ), where p is (d(i) + cf(i-1)) modulo 10.
  3. 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 πŸ”₯

  • perl
  • CheckDigits
  • www.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