# eancheck(1) [debian man page]

```Eancheck(1)						      General Commands Manual						       Eancheck(1)

NAME
eancheck - check digit validator for EAN, PLU and UPC barcode numbers

SYNOPSIS
eancheck [EAN code, PLU code or UPC prefixed with 0]

DESCRIPTION
eancheck  takes	a 13 digit EAN (European Article Number, aka a barcode number) or a 4 digit PLU code and runs some simple maths upon it to
discover the "check digit". It then compares this against the last number of the inputted EAN to check whether that code;  if  they  match,
then the EAN/PLU is valid. If they do not, then the opposite applies.

BUGS
Right now UPC codes need to be prefixed with a zero (i.e turned into EAN codes) to be properly checked.

MAINTAINER
Joe Baldwin <joe@joe-baldwin.net>

Eancheck(1)```

## Check Out this Related Man Page

```CheckDigits::M10_004(3pm)				User Contributed Perl Documentation				 CheckDigits::M10_004(3pm)

NAME
CheckDigits::M10_004 - compute check digits for 2aus5, EAN, ILN, ISBN13, NVE

SYNOPSIS
use Algorithm::CheckDigits;

\$ean = CheckDigits('ean');

if (\$ean->is_valid('7622200004607')) {
# do something
}

\$cn = \$ean->complete('762220000460');
# \$cn = '7622200004607'

\$cd = \$ean->checkdigit('7622200004607');
# \$cd = '7'

\$bn = \$ean->basenumber('7622200004607');
# \$bn = '762220000460'

DESCRIPTION
ALGORITHM
1.  Beginning right all numbers are weighted alternatively 1 and 3 (that is the check digit is weighted 1).

3.  The sum of step 3 ist taken modulo 10.

4.  The check digit is the difference between 10 and the number from step 3.

To validate the total of the digits of all numbers inclusive check digit taken modulo 10 must be 0.

METHODS
is_valid(\$number)
Returns true only if \$number consists solely of digits, spaces and hyphen and the last digit is a valid check digit according to the
algorithm given above.

Returns false otherwise,

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, spaces and hyphen.

basenumber(\$number)
Returns the basenumber of \$number if \$number has a valid check digit.

Return '' otherwise.

checkdigit(\$number)
Returns the checkdigit of \$number if \$number has a valid check digit.

Return '' otherwise.

EXPORT
None by default.

BUGS AND LIMITATIONS
When invoked as "CheckDigits('isbn13')" the module checks whether the first three digits (the country code) are 978 or 979, the current (as
of 2006) EAN country codes for books. If at any time other EAN country codes for ISBN-13 will be specified and the then responsible
maintainer ignores this in the code, please send a friendly email.

AUTHOR