It might be worth having a look at Text::CSV and/or Text::CSV_XS to convert your TSV/CSV. They say that they can cope with embedded newlines in fields -- how to do it is explained in the help.
Comment on Re: Convert XLSX to TSV and remove CRLF in cells