
IO::CSVHeaderFile - Perl extension for CSV Files

# to read ...
use IO::CSVHeaderFile;
my $csv = IO::CSVHeaderFile->new( "< $filename" );
while(my $hash = $csv->csv_read ){
print "$hash->{ColHeaderTitle}\n";
}
$csv->close;
# or for same named columns
my $csv = IO::CSVHeaderFile->new( "< $filename" );
my $data;
while(@array = $csv->csv_read ){
for(my $i=0; $i< @array; $i++) {
print "Column '$array[$i]': $array[$i]\n";
}
print "-- end of record\n";
}
$csv->close;
# to write ...
use IO::CSVHeaderFile;
my $csv = IO::CSVHeaderFile->new( "> $filename" ,
{col => ['ColHeaderTitle1','ColHeaderTitle2','ColHeaderTitle1'], noheaders => 1} );
$csv->csv_print({ColHeaderTitle1 => 'First', ColHeaderTitle2 => 'Second'}) or return;
$csv->csv_print(['Uno', 'Duo', 'Tre']) or return;
$csv->csv_print(
ColHeaderTitle1 => 'One',
ColHeaderTitle2 => 'Two',
ColHeaderTitle1 => 'Three with the same name as One'
) or return;
$csv->close;

Read from and write to csv file.
None by default.
Store the RECORD into file, RECORD can be hash reference as returned from csv_read or an array ref with values ordered same as respctive headers in file.
If LIST variant is used it can be a hash definition like a list in form of headers and values, but the header names doesn't have to be unique. This is usefull when creating a CSV file with several same named columns.
Return the next record (hash reference in scalar context, array of header names and values in list context) from the file. Returns undef if eof.

Vasek Balcar, <vasek@ti.cz>
