Internal/Code
From S23Wiki
sub StoreISBN {
my ($num) = @_;
return &StoreRaw(&ISBNLink($num));
}
sub ISBNALink {
my ($num, $pre, $post, $text) = @_;
return '<a href="' . $pre . $num . $post . '">' . $text . '</a>';
}
sub ISBNLink {
my ($rawnum) = @_;
my ($rawprint, $html, $num, $numSites, $i);
$num = $rawnum;
$rawprint = $rawnum;
$rawprint =~ s/ +$//;
$num =~ s/[- ]//g;
$numSites = scalar @IsbnNames; # Number of entries
if ((length($num) != 10) || ($numSites < 1)) {
return "ISBN $rawnum";
}
$html = &ISBNALink($num, $IsbnPre[0], $IsbnPost[0], 'ISBN ' . $rawprint);
if ($numSites > 1) {
$html .= ' (';
$i = 1;
while ($i < $numSites) {
$html .= &ISBNALink($num, $IsbnPre[$i], $IsbnPost[$i], $IsbnNames[$i]);
if ($i < ($numSites - 1)) { # Not the last site
$html .= ', ';
}
$i++;
}
$html .= ')';
}
$html .= " " if ($rawnum =~ / $/); # Add space if old ISBN had space.
return $html;
}
<- Das ist der Teil aus wiki.pl der die ISBN Links erzeugt. Die Aufgabe wΣre nun eine neue Funktion 'ASIN Link' ,da die ASIN zwar auch immer 10-stellig is ,aber neben "rawnumbers" auch Buchstaben enthalten kann.

