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

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

Return to bug 21959