$$text_ref =~ s% (STARTPRESERVE1.*?STOPPRESERVE1) | (STARTPRESERVE2.*?STOPPRESERVE2) | (PRESERVESTART.*?PRESERVESTOP) | \s+ % ((defined $1 and ($1 =~ /^\s+$/)) ? ' ' : $1) . ((defined $2 and ($2 =~ /^\s+$/)) ? ' ' : $2) . ((defined $3 and ($3 =~ /^\s+$/)) ? ' ' : $3) %eigsx;