Perl で改行やカンマを含むデータをCSVファイルに書き出す方法

Perl で改行やカンマをデータ中に含むCSVファイルを書き出す方法を紹介します。ウェブサイトのフォームから受け付けた値をCSVに保存するCGIなどで利用できます。

CSV の形式

CSVはその名の通り Comma Separated Values (カンマ区切データ)で、「フィールドの間はカンマで、データ1件ごとの間は改行で区切る」という約束のフォーマットです。
Microsoft エクセルで読み書きができるため、実務でもよく使いますが、ウェブサイトのフォームから受け付けた値をCSVに保存したい、といった場合、値に改行やカンマが含まれている可能性があります。

CSVの本来のフォーマットからは外れますが、Microsoft エクセルで読み取る場合に関しては、CSVの値の中にカンマや改行を含めることが可能です。