in reply to Improved regexp sought

Is this elegant?
my @fields = map {s/\?'/'/g; $_} split /\+|(?<!\?)'/, $line;
The split is on plus or apostrophes not preceded by a question mark. The map turns "?'" into just "'".

Update: It's probably clearer (and thus better) to say

my @fields = split /\+|(?<!\?)'/, $line; s/\?'/'/g for @fields;

Caution: Contents may have been coded under pressure.