Perl:RFC4180に準拠のCSVファイルを読み込む方法

 CSVファイルにRFC4180と言う標準化されたルールが存在している事を知ったので、そのファイルが読み込めるようなプログラムを書いてみた。

特徴
・順番に処理しているので処理速度は遅いです。遅いといってもCorei7(3.4GHz)+SSD環境で10000行×100フィールド(1フィールド10文字・計10MB)のファイルなら1秒程度で完了(ブラウザの表示時間は除く)
・できるだけ書式を壊さないよう読み込んでいる。読み込んだファイルはCSVベースの独自フォーマットに変換、改行はCRとLF別で認識しフィールドを囲むダブルクォーテーションも保持しているので、正確に処理すれば保存時に読み込み時と同じ書式で保存できる。

続きを読む

Perl:文字参照

 先日POST/GETからの受け取るプログラムを作ったけど、ユーザーから入力された文字列をHTMLに出力するときには、そのまま出力するとHTMLタグが使えたりとセキュリティーリスクになるので一部の文字を無害な文字列に変換しなければなりません。それが文字参照とかエスケープと呼ばれる処理です。

続きを読む