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

Hi All, <p. How can i get columns from cvs file into an array. The CSV file is a dynamic file.

the fields are like this

Numb,Name,Class,Type,...... 201,Bazaar,b2,53,.......... 121,Raymond,y1,02,... 232,Robert,p1,04,...............

I am using following code to get columns.

@tmp = `more +2 flat1.txt | cut -d "," -f $i` ;

It is giving out put and also error saying that refer help. Can any one give me equivalent to this

Edit: g0n - formatting tags

Replies are listed 'Best First'.
Re: Getting columns from cvs file in perl
by Fletch (Chancellor) on Apr 24, 2007 at 13:37 UTC

      You should also check the returned status when you parse a line:

      my $csv = Text::CSV_XS->new( { binary => 1 } ); my $status = $csv->parse($line); # parse a CSV string into fie +lds

      Occasionally, you'll encounter an invalid CSV line and you'll definitely want to handle it. If there are any embedded binary chars, you'll want to set the binary flag when you create the $csv object as I did above.


      Where do you want *them* to go today?
Re: Getting columns from cvs file in perl
by Joost (Canon) on Apr 24, 2007 at 13:38 UTC
    A reply falls below the community's threshold of quality. You may see it by logging in.