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