/home/cpanrun/depot/main/contrib-patched/perl/CPAN/src/Algorithm-CheckDigits/blib/html/site/lib/Algorithm/CheckDigits/M11_001.html


DESCRIPTION</PRE> <P> <H2><A NAME=``algorithm''>ALGORITHM</A></H2> <OL> <LI> The sequence of digits is processed right to left. Every digit is multiplied with their position in the sequence (i.e. the digit left to the check digit has the weight 2 then 3 etc.). <P>With a Hongkong ID (hkid) the leftmost char is replaced with its position in the alphabet and then multiplied with 8 (its weight).</P> <P></P> <LI> The sum of all products is computed. <P></P> <LI> The sum of step 2 is taken modulo 11. <P></P> <LI> The checkdigit is the difference of the sum from step 3 to eleven under the following conditions: <DL> <DT><STRONG><A NAME=``item_isbn%2Cissn''>isbn,issn</A></STRONG><BR> <DD> If the difference is 10, the check digit is 'X'. <P>If the difference is 11, the check digit is 0.</P> <P></P> <DT><STRONG><A NAME=``item_ustid_pt''>ustid_pt</A></STRONG><BR> <DD> If the difference is greater then 9, the check digit is '0'. <P></P> <DT><STRONG><A NAME=``item_hkid''>hkid</A></STRONG><BR> <DD> If the difference is 10, the check digit is 'A'. <P>If the difference is 11, the check digit is 0.</P> <P></P> <DT><STRONG><A NAME=``item_wagonnr_br''>wagonnr_br</A></STRONG><BR> <DD> If the difference is 10, the check digit is 0. <P>If the difference is 11, the check digit is 1.</P> <P></P> <DT><STRONG><A NAME=``item_nhs_gb''>nhs_gb</A></STRONG><BR> <DD> If the difference is 10, the number would not be taken. <P>If the difference is 11, the check digit is 0.</P> <P></P> <DT><STRONG><A NAME=``item_vat_sl''>vat_sl</A></STRONG><BR> <DD> This is a little bit unclear, don't trust on the method for this type. <P></P></DL> </OL> <P> <H2><A NAME=``methods''>METHOD/A</H2> <DL> <DT><STRONG><A NAME=``item_is_valid''><CODE>is_valid($number)</CODE></A></STRONG><BR> <DD> Returns true only if <CODE>$number</CODE> consists solely of numbers and the last digit is a valid check digit according to the algorithm given above. <P>Returns false otherwise,</P> <P></P> <DT><STRONG><A NAME=``item_complete''><CODE>complete($number)</CODE></A></STRONG><BR> <DD> The check digit for <CODE>$number</CODE> is computed and concatenated to the end of <CODE>$number</CODE>. <P>Returns the complete number with check digit or '' if <CODE>$number</CODE> does not consist solely of digits and spaces.</P> <P></P> <DT><STRONG><A NAME=``item_basenumber''><CODE>basenumber($number)</CODE></A></STRONG><BR> <DD> Returns the basenumber of <CODE>$number</CODE> if <CODE>$number</CODE> has a valid check digit. <P>Return '' otherwise.</P> <P></P> <DT><STRONG><A NAME=``item_checkdigit''><CODE>checkdigit($number)</CODE></A></STRONG><BR> <DD> Returns the checkdigit of <CODE>$number</CODE> if <CODE>$number</CODE> has a valid check digit. <P>Return '' otherwise.</P> <P></P></DL> <P> <H2><A NAME=``export''>EXPORT</A></H2> <P>None by default.</P> <P> <HR> <H1><A NAME=``author''>AUTHOR</A></H1> <P>Mathias Weidner, &lt;<A HREF=``mailto:mathias@weidner.in-bad-schmiedeberg.de''>mathias@weidner.in-bad-schmiedeberg.de&gt;</P> <P> <HR> <H1><A NAME=``see also''>SEE ALSO</A></H1> <P><A HREF=``../../../../bin/perl.html''>the perl manpage</A>, <A HREF=``../../../../site/lib/CheckDigits.html''>the CheckDigits manpage</A>, <EM>www.pruefziffernberechnung.de</EM>.</P> <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%> <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR=``#cccccc''> <FONT SIZE=+1><STRONG><P CLASS=block>&nbsp;CheckDigits::M11_001 - compute check digits for ISBN, ISSN, VAT RN</P></STRONG></FONT> </TD></TR> </TABLE>

</BODY>

</HTML>

 /home/cpanrun/depot/main/contrib-patched/perl/CPAN/src/Algorithm-CheckDigits/blib/html/site/lib/Algorithm/CheckDigits/M11_001.html