CSVの値取得
取得用の関数を作ってみました。単にカンマで区切るだけで良いのであればsplitで簡単に取得できます。
######
# カンマ区切りのデータを分割するための関数と
# この関数を使用するサンプル
######
$MODE_DQ_OFF = 0;	# "で囲まれたデータの"を削除する
$MODE_DQ_ON = 1;	# "で囲まれたデータの"をそのままにする
######
# カンマでデータを分割する関数
######
sub csv_split {
	my ($line, $mode) = @_;
	my @data = ();
	my $tmp;
	while ($line =~ m/"([^"]*(("")+[^"]*)*)"(?:,|$)|([^,]+)(?:,|$)|(),/g) {
		if (defined $1) {
			$tmp = $1;			# "で囲まれたデータ
			if ($mode == $MODE_DQ_OFF) {
				$tmp =~ s/""/"/g;	# "で囲まれたデータは"を""であらわす
			} else {
				$tmp = qq("$tmp");	# "で囲みなおす
			}
		} elsif (defined $4) {
			$tmp = $4;			# 普通のデータ
		} else {
			$tmp = $5;			# 空データ
		}
		push @data, $tmp;
	}
	if ($line =~ m/,$/) {
		push @data, "";	# ,が最後にきているときは空データを追加
	}
	return @data;
}
######
# サンプルプログラム
######
my @data = <>;
chomp @data;
my @items;
print "----- ダブルクォート削除 -----\n";
foreach $line (@data) {
	print "[$line]\n";
	@items = csv_split($line, $MODE_DQ_OFF);	# ダブルクォート削除
	print "\t";
	foreach $item (@items) {
		print "($item)";
	}
	print "\n";
}
print "\n";
print "----- ダブルクォートそのまま -----\n";
foreach $line (@data) {
	print "[$line]\n";
	@items = csv_split($line, $MODE_DQ_ON);	# ダブルクォートそのまま
	print "\t";
	foreach $item (@items) {
		print "($item)";
	}
	print "\n";
}
print "\n";
print "----- 単純にカンマで分割 -----\n";
foreach $line (@data) {
	print "[$line]\n";
	@items = split(/,/, $line);	# 単純にカンマで分割
	print "\t";
	foreach $item (@items) {
		print "($item)";
	}
	print "\n";
}
exit 0;
サンプルデータと出力結果