in reply to Optimal way to read in pipe delimited files
Just to reinforce dragonchild’s response – use Text::xSV. Rolling your own is not recommended.
Makeshifts last the longest.