Bug in _parseline(), line 193. Regexp attempts to avoid \" when looking for ending quotation mark, but winds up always matching the character in front of the quote mark, thus clipping them off.
The corrected line should read:
if ($line =~ /^"(.*?)(?=[^\])["]$sep/s) {
This will handle things like "Sam \"Nickname\" Marciano" without clipping the final 'o'.