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


in reply to Re: Get record separator of a file
in thread Get record separator of a file

You could use the unix file command to determine the file type and then you'll know what you need to do for the file types you're handling.

file(1) just guesses, based on some magic constants, and it often guesses wrong.

Also file will try to guess the separator for text files.

No. It detects line endings, but not record separators for CSV files:

/tmp>echo "foo;bar;baz" > testme /tmp>echo "1;2;3" >> testme /tmp>cat testme foo;bar;baz 1;2;3 /tmp>file testme testme: ASCII text /tmp>
I think there's a cpan module for this but I've never used it -- does anyone know anything about it?

File::Type, File::MMagic, both share the guessing problem.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)