@@ -, +, @@ --- C4/Serials.pm | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) --- a/C4/Serials.pm +++ a/C4/Serials.pm @@ -1140,7 +1140,11 @@ sub ModSerialStatus { } # in case serial has been previously marked as missing if (grep /$status/, (1,2,3,7)) { - $missinglist =~ s/[,;]?\s?$serialseq//g; + #delete e.g. 3 not 31: therefore check on punct. and \D + $missinglist =~ s/(^|\s|[,;])$serialseq(?=\D|$)//g; + #cleanup the ; mess :) + $missinglist =~ s/[,;\s]+/;/g; + $missinglist =~ s/^[,;\s]+|[,;\s]+$//; } # warn "missinglist : $missinglist serialseq :$serialseq, ".index("$missinglist","$serialseq"); $missinglist .= "; $serialseq" --