Bug 11478: Replace experimental given/when keywords
authorColin Campbell <colin.campbell@ptfs-europe.com>
Mon, 6 Jan 2014 11:53:29 +0000 (11:53 +0000)
committerGalen Charlton <gmc@esilibrary.com>
Thu, 20 Feb 2014 15:52:57 +0000 (15:52 +0000)
The keywords given and when are flagged experimental
in perl 5.18 and subject to change. This patch
replaces the construct by an if/elsif

To test:

[1] Verify that prove -v t/SimpleMARC.t passes.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Koha/SimpleMARC.pm

index 2195143..3ffe768 100644 (file)
@@ -88,21 +88,19 @@ sub copy_field {
         $modifiers .= $modifier
             if grep {/$modifier/} @available_modifiers;
     }
-    foreach my $value ( @values ) {
-        for ( $modifiers ) {
-          when ( /^(ig|gi)$/ ) {
+    foreach my $value (@values) {
+        if ( $modifiers =~ m/^(ig|gi)$/ ) {
             $value =~ s/$regex->{search}/$regex->{replace}/ig;
-          }
-          when ( /^i$/ ) {
+        }
+        elsif ( $modifiers eq 'i' ) {
             $value =~ s/$regex->{search}/$regex->{replace}/i;
-          }
-          when ( /^g$/ ) {
+        }
+        elsif ( $modifiers eq 'g' ) {
             $value =~ s/$regex->{search}/$regex->{replace}/g;
-          }
-          default {
+        }
+        else {
             $value =~ s/$regex->{search}/$regex->{replace}/;
-          }
-      }
+        }
     }
   }
   update_field( $record, $toFieldName, $toSubfieldName, $dont_erase, @values );