Allow a call number of the form MP3-CD F PARKER to be split as
MP3-CD
F
PARKER
instead of
MP
3
-CD
F
PARKER
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
return $killed, undef;
}
-our $possible_decimal = qr/\d+(?:\.\d+)?/;
-
sub split_lccn {
my ($lccn) = @_;
$_ = $lccn;
return @parts;
}
+our $possible_decimal = qr/\d{3,}(?:\.\d+)?/; # at least three digits for a DDCN
+
sub split_ddcn {
my ($ddcn) = @_;
$_ = $ddcn;
my (@parts) = m/
^([a-zA-Z-]+(?:$possible_decimal)?) # R220.3 # BIO # first example will require extra splitting
- \s*
+ \s+
(.+) # H2793Z H32 c.2 # R5c.1 # everything else (except bracketing spaces)
\s*
/x;
use strict;
use warnings;
-use Test::More tests => 62;
+use Test::More tests => 72;
BEGIN {
use_ok('C4::Labels');
'J DAR G7c.11' => [qw( J DAR G7 c.11)],
'R220.3 H2793Z H32 c.2' => [qw(R 220.3 H2793Z H32 c.2)],
'CD-ROM 787.87 EAS' => [qw(CD-ROM 787.87 EAS)],
+ 'MP3-CD F PARKER' => [qw(MP3-CD F PARKER)],
};
foreach my $ddcn (sort keys %$ddcns) {