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 |
- |
|
|