isbn.pm

来自「网页留言本,比一般的留言簿管用」· PM 代码 · 共 59 行

PM
59
字号
package URI::urn::isbn;  # RFC 3187require URI::urn;@ISA=qw(URI::urn);use strict;use Business::ISBN ();sub _isbn {    my $nss = shift;    $nss = $nss->nss if ref($nss);    my $isbn = Business::ISBN->new($nss);    $isbn = undef if $isbn && !$isbn->is_valid;    return $isbn;}sub _nss_isbn {    my $self = shift;    my $nss = $self->nss(@_);    my $isbn = _isbn($nss);    $isbn = $isbn->as_string if $isbn;    return($nss, $isbn);}sub isbn {    my $self = shift;    my $isbn;    (undef, $isbn) = $self->_nss_isbn(@_);    return $isbn;}sub isbn_publisher_code {    my $isbn = shift->_isbn || return undef;    return $isbn->publisher_code;}sub isbn_country_code {    my $isbn = shift->_isbn || return undef;    return $isbn->country_code;}sub isbn_as_ean {    my $isbn = shift->_isbn || return undef;    return $isbn->as_ean;}sub canonical {    my $self = shift;    my($nss, $isbn) = $self->_nss_isbn;    my $new = $self->SUPER::canonical;    return $new unless $nss && $isbn && $nss ne $isbn;    $new = $new->clone if $new == $self;    $new->nss($isbn);    return $new;}1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?