#!/usr/bin/perl

use strict;
use Text::CSV_XS;

use lib 'd:/Programs/Perl/lib';
use CSV;

my $iPattern = 0;

my $file = "DOS-up.csv";
if($iPattern == 0) {
	print "CSV::ReadSimple\n";
	print "  ", time(), "\n";
	for(my $i = 0 ; $i < 10 ; $i++) {
		my $csv = CSV->new->ReadSimple($file, 1);
	}
	print "  ", time(), "\n";
}

if($iPattern == 0) {
	print "CSV::Read\n";
	print "  ", time(), "\n";
	for(my $i = 0 ; $i < 10 ; $i++) {
		my $csv = CSV->new->Read($file, 1);
	}
	print "  ", time(), "\n";
}

if($iPattern == 0) {
	print "split::Read\n";
	print "  ", time(), "\n";
	for(my $i = 0 ; $i < 100 ; $i++) {
		open my $io, "<", $file or die "$file: $!";
		my $c = 0;
		while (my $row = <$io>) {
			my @fields = split(/,\s*/i, $row);
#			print "$c: ", join(',', @fields), "\n";
			$c++;
		}
		close $io;
	}
	print "  ", time(), "\n";
}

if($iPattern == 0) {
	print "CSV_XS::Read\n";
	print "  ", time(), "\n";
	for(my $i = 0 ; $i < 100 ; $i++) {
		my $csv = Text::CSV_XS->new ({ binary => 0, eol => $/ });
		open my $io, "<", $file or die "$file: $!";
#print "csv=$csv\n";
#print "ver=", $csv->version(), "\n";
		my $c = 0;
		while (my $row = $csv->getline($io)) {
			my @fields = @$row;
#			print "$c: ", join(',', @fields), "\n";
			$c++;
		}
		close $io;
	}
	print "  ", time(), "\n";
}
