Neil Ang

Developer

A stunning likeness of Neil Ang
Hello world

Validate an ISSN using Perl

Posted on

Last week I wrote about validating an ISBN, so this week I thought I would post the code to validate an ISSN.

There are only a few minor differences between validating an ISSN and ISBN.

sub valid_issn {
  my $issn = $_[0];
     $issn =~ s/[^\dX]//gi;
  return if length($issn) != 8;
  my $sum = 0;
  my @chars = split('', $issn);
  $chars[7] = 10 if uc($chars[7]) eq 'X';
  for (my $char = 0; $char < @chars; $char++) {
    $sum += (8-$char) * $chars[$char];
  }
  return (($sum % 11) == 0);
}