View | Details | Raw Unified | Return to bug 21959
Collapse All | Expand All

(-)a/tools/batchMod.pl (-4 / +19 lines)
Lines 224-235 if ($op eq "action") { Link Here
224
                    my $tag = $tags[$i];
224
                    my $tag = $tags[$i];
225
                    my $subfield = $subfields[$i];
225
                    my $subfield = $subfields[$i];
226
                    my $replace = $replaces[$i];
226
                    my $replace = $replaces[$i];
227
                    my $mod = $modifiers[$i];
228
227
229
                    my $value = $localmarcitem->field( $tag )->subfield( $subfield );
228
                    my $value = $localmarcitem->field( $tag )->subfield( $subfield );
230
                    my $old_value = $value;
229
                    my $old_value = $value;
231
                    ## no critic (StringyEval)
230
232
                    eval "\$value =~ s/$search/$replace/$mod";
231
                    my @available_modifiers = qw( i g );
232
                    my $retained_modifiers = q||;
233
                    for my $modifier ( split //, $modifiers[$i] ) {
234
                        $retained_modifiers .= $modifier
235
                            if grep {/$modifier/} @available_modifiers;
236
                    }
237
                    if ( $retained_modifiers =~ m/^(ig|gi)$/ ) {
238
                        $value =~ s/$search/$replace/ig;
239
                    }
240
                    elsif ( $retained_modifiers eq 'i' ) {
241
                        $value =~ s/$search/$replace/i;
242
                    }
243
                    elsif ( $retained_modifiers eq 'g' ) {
244
                        $value =~ s/$search/$replace/g;
245
                    }
246
                    else {
247
                        $value =~ s/$search/$replace/;
248
                    }
233
249
234
                    my @fields_to = $localmarcitem->field($tag);
250
                    my @fields_to = $localmarcitem->field($tag);
235
                    foreach my $field_to_update ( @fields_to ) {
251
                    foreach my $field_to_update ( @fields_to ) {
236
- 

Return to bug 21959