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

joec_ has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I have a csv file, that potentially could contain 400 "columns" and anything up to 1000 rows. What i would like to end up with is this

CSV at the moment:

123,"text",66,"more text"
124,"text1",67,"more text1"
125,"text2",68,"more text2"

Seperate Strings (eventually going into oracle as clobs):
123|124|125
"text"|"text1"|"text2"
66|67|68
"more text"|"more text1"|"more text2"

I wont know before hand how many rows/cols the csv has as it depends on the dataset from another app.

What i have tried so far is :

while (<CSV>){ @fields = split /,/,$_; push @s, $fields[0]; $structid=join "|",@s; }
which deals with just the first column. Following this logic, i would have to create an array for each column...there must be a better way.

Any ideas appreciated

Thanks-Joe

-----

Eschew obfuscation, espouse eludication!