http://www.perlmonks.org?node_id=1055683


in reply to Reading File and Seperating into columns

Not to be rude, but your friend sounds like he just discovered regular expressions last week and he's still unsure about what all the characters do, so he's trying to avoid using the tricky ones. The pipe character, like many other punctuation characters, is a special character in regex patterns, so you must escape it. For instance:

my @fields = split /,/; # split on commas my @fields = split /\|/; # split on pipes

That's all, no big deal. However, as hbd said, unless this is a one-time task with data you're very familiar with, you should use Text::CSV and tell it that your delimiter is the pipe character. That way, when you inevitably run into data containing a quoted delimiter in one of the fields even though you were sure that would never happen, the module can handle it correctly.

Aaron B.
Available for small or large Perl jobs; see my home node.