#!perl -w use strict; use Text::xSV; my($cols,$data) = ( ['Name','City','Num'], [] ); for my $num(0..4999) { push @$data, ["myself\nme","Portland,Oregon",$num]; } create_xSV('test.xSV',$cols,$data); read_xSV('test.xSV'); sub create_xSV { my($fname,$cols,$data) = @_; my $csv = Text::xSV->new( filename => $fname , header => $cols ); $csv->print_header(); $csv->print_row(@$_) for @$data; } sub read_xSV { my $fname = shift; my $csv = Text::xSV->new( filename=>$fname, close_fh=>1); $csv->read_header(); my $count=0; while ($csv->get_row()) { print "$count ..."; my @row = $csv->extract(qw(Name City Num)); die 'Bad Read' unless "@row" eq "@{$data->[$count++]}"; } print "Done!"; } __END__