Your problem is not the comma, but the quotes. You are using
Text::CSV, yet want to do the work yourself. Let
Text::CSV do its work instead of introducing that additional pair of quotes. If you entered the data into an Excel sheet, you wouldn't enter additional quotes around text cells with commas either, would you?