⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.23
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
perl5
/
vendor_perl
/
Business
/
View File Name :
ISBN10.pm
package Business::ISBN10; use strict; use base qw(Business::ISBN); use Business::ISBN qw(:all); use subs qw( _checksum INVALID_GROUP_CODE INVALID_PUBLISHER_CODE BAD_CHECKSUM GOOD_ISBN BAD_ISBN ); use vars qw( $VERSION $debug $MAX_GROUP_CODE_LENGTH %ERROR_TEXT ); use Carp qw(carp croak cluck); my $debug = 0; $VERSION = '2.06'; sub _max_length { 10 } sub _set_type { $_[0]->{type} = 'ISBN10' } sub _parse_prefix { '' } sub _set_prefix { croak "Cannot set prefix [$_[1]] on an ISBN-10" if length $_[1]; $_[0]->{prefix} = $_[1]; } sub _hyphen_positions { [ $_[0]->_group_code_length, $_[0]->_group_code_length + $_[0]->_publisher_code_length, 9 ] } sub as_isbn10 { my $self = shift; my $isbn10 = Business::ISBN->new( $self->isbn ); $isbn10->fix_checksum; return $isbn10; } sub as_isbn13 { my $self = shift; my $isbn13 = Business::ISBN->new( '978' . $self->isbn ); $isbn13->fix_checksum; return $isbn13; } #internal function. you don't get to use this one. sub _checksum { my $data = $_[0]->isbn; return unless defined $data; my @digits = split //, $data; my $sum = 0; foreach( reverse 2..10 ) { $sum += $_ * (shift @digits); } #return what the check digit should be my $checksum = (11 - ($sum % 11))%11; $checksum = 'X' if $checksum == 10; return $checksum; } 1; __END__ =head1 NAME Business::ISBN10 - work with 10 digit International Standard Book Numbers =head1 SYNOPSIS See L<Business::ISBN> =head1 DESCRIPTION See L<Business::ISBN> =head1 SOURCE AVAILABILITY This source is in Github: https://github.com/briandfoy/business--isbn =head1 AUTHOR brian d foy C<< <bdfoy@cpan.org> >> =head1 COPYRIGHT AND LICENSE Copyright (c) 2001-2013, brian d foy, All Rights Reserved. You may redistribute this under the same terms as Perl itself. =cut