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


in reply to Issue parsing CSV into hashes?

I agree with dasgar - you are only doing one split! Either do it as dasgar suggests, or keep it simple and just use split:

DB<5> $s = q/"foo:bar","test:boing!","whirrr:clunk"/; DB<6> %hsh = split /[:,]/, $s; ## do both the required splits in one + step DB<7> x %hsh 0 '"whirrr' 1 'clunk"' 2 '"foo' 3 'bar"' 4 '"test' 5 'boing!"'

Admittedly this test will be caught out by delimiters inside the quotes and spaces between the key/val pairs, but it is a start as to how this problem could be solved... TIMTOWTDI!

Just a something something...