Bug 4305 Improve code flow
authorColin Campbell <colin.campbell@ptfs-europe.com>
Thu, 11 Nov 2010 14:02:13 +0000 (09:02 -0500)
committerChris Cormack <chrisc@catalyst.net.nz>
Thu, 11 Nov 2010 21:26:56 +0000 (10:26 +1300)
Use the ISBN Object's method to format the string
rather than add extra code to do it
Clean up the code flow for clarity
Benchmarking shows its a bit faster too
Don't add to the number of Test::Perl::Critic warnings
 for no benefit

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/Koha.pm

index e746f83..a63a3a5 100644 (file)
@@ -1350,14 +1350,15 @@ sub _normalize_match_point {
     return $normalized_match_point;
 }
 
-sub _isbn_cleanup ($) {
-    my $isbn = Business::ISBN->new( shift );
-    return undef unless $isbn;
-    $isbn = $isbn->as_isbn10 if $isbn->type eq 'ISBN13';
-    return undef unless $isbn;
-    $isbn = $isbn->as_string;
-    $isbn =~ s/-//g;
-    return $isbn;
+sub _isbn_cleanup {
+    my $isbn = Business::ISBN->new( $_[0] );
+    if ( $isbn ) {
+        $isbn = $isbn->as_isbn10 if $isbn->type eq 'ISBN13';
+        if (defined $isbn) {
+            return $isbn->as_string([]);
+        }
+    }
+    return;
 }
 
 1;