Import of revision 19971210+
[mspang/plceo1.git] / isbn.pl
1 #
2 # $Id: isbn.pl,v 1.1 1996/05/17 22:07:42 nborisov Exp $
3 # isbn.pl - a small function to calculate an ISBN checksum
4 #
5 # Author: Nikita Borisov
6 # Last Update: Fri May 17 17:24:44 EDT 1996
7 #
8
9 sub ISBN_checksum {
10         local($isbn) = shift;
11         local(@digits);
12         local($sum);
13
14         $isbn =~ tr/x/X/;       # make sure the X is upper case
15         $isbn =~ s/[^0-9X]//g; # remove extra characters
16     @digits = split("", $isbn);
17     $sum = 0;
18
19     for ($i = 0; $i < 10; $i++) {
20                 $digits[$i] =~ s/X/10/;
21         $sum += ($i+1) * $digits[$i];
22     }
23         return ($sum % 11 == 0);
24 }
25  
26 1;