#!/usr/bin/perl
$s = ''7-5306-3625-1';
$s = &isbn_check($s);

print $ns."\n";

sub isbn_check
{
my($str) = @_;
my($index,$isbn,$ch);

$isbn='';
while($index < length($str))
{
$ch = substr($str,$index,1);
$isbn .= $ch if($ch =~ /[0-9]/);
$index++;
}
return('9999999999') if(length($isbn) < 10 or length($isbn) > 13);
$isbn = substr($isbn,3,10) if(length($isbn) == 13);

my $count = 0;
for($index=0;$index<9;$index++)
{
$ch = substr($isbn,$index,1);
$count=$count + $ch * (10 - $index);
}
$ch = 11 - $count % 11;
$ch = 'X' if($ch == 10);
return($isbn) if($ch eq substr($isbn,9,1));
return('9999999999');
}

Reply via email to