Perhaps there's a bit of a language issue here, but I'm pretty sure the OP meant that the processing should work if split found four comma or space delimited columns, and die otherwise, not that split itself should raise an exception, even though it may have literally read that way.

See my reply, below. I know it might not exactly hit the mark, as the specification was a little vague, but it should be easy to modify for different inputs or failure conditions.