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