I'm not sure I understand your exact problem but, assuming your $row ref comes from, say, Text::CSV, I would loop through existing fields (or whatever number of fields you want for the
copied extended row), testing each for being defined. If a field is not defined, set it to the empty string, otherwise, extract or copy what you need.
It would help greatly to see your program and some sample CSV data.
Update: You should be able to set a non-existent cell in an array reference like this:
$row-> = '';