in reply to Parsing pipe-delimited text that contains pipes
I know CSV parsers can handle this sort of thing ...
You're right: Text::CSV and Text::CSV_XS (update: the latter maintained by our own Tux).
Give a man a fish: <%-{-{-{-<