その通りです、otsuneさん。
404 Blog Not Found:たった一つの冴えたMicrosoft製品ItoGさんのコメント
typo: tsv → csvotsuneさんのコメント
>typo: tsv → csv tsvって「タブ区切りテキスト」のことだよね?
表計算をtextとしてpasteするとTSV(Tab Separated Values)に、ExcelでText FileにsaveするとCSV(Comma Separated Values)になるのですが、私はTSV派です。
なんといっても、TSVの方が、圧倒的に処理が楽なのです。CSVは、実はきちんと処理するのが難しく、「CSVを処理するにはどうしたらいいの?」というのはPerlに限らず、スクリプト言語の世界ではかなりよく見るFAQです。今でこそText::CSVというModuleがありますが、これがTSVなら、
my @fields = split /\t/, $line;
で済みます。サルでも出来ます。
「でも、CSVの方が、どこで区切れているか目で見えるからやさしい」という意見もあります。が、値そのものに,(comma)が含まれている場合、それを""でくくらねばなりません。こうなってくると可読性もへったくれもなくなってきます。
もちろん、値に区切り文字(delimiter)が含まれる場合にどうするかという問題は、tsvにだってあるのですが、tabが値に表れる場合は、commaが値に表れる場合よりずっと少ないのです。そもそもExcelのcellもHTMLのformも、tab文字を値として入力するのはしごく困難ですが、commaの入力は難なく受け付けます
なるべくTSVを使うようにしましょう。Excelでもちゃんと読めますし、Excelからもコピペという手段でTSVは作れるのですから。
Dan,the,Commaphobia
解決策は固定長レコードに決まっておるだろう!