以前Perlで日付を数値型(秒)にする逆localtime関数のようなスプリクトを作りましたが、1970年1月1日0時0分0秒より前の日付に対応していなかったので、西暦0年1月1日0時0分0秒から使えるように改良してみました。
タグ: Perl
Perl:RFC4180に準拠のCSVファイルを読み込む方法
CSVファイルにRFC4180と言う標準化されたルールが存在している事を知ったので、そのファイルが読み込めるようなプログラムを書いてみた。
特徴
・順番に処理しているので処理速度は遅いです。遅いといってもCorei7(3.4GHz)+SSD環境で10000行×100フィールド(1フィールド10文字・計10MB)のファイルなら1秒程度で完了(ブラウザの表示時間は除く)
・できるだけ書式を壊さないよう読み込んでいる。読み込んだファイルはCSVベースの独自フォーマットに変換、改行はCRとLF別で認識しフィールドを囲むダブルクォーテーションも保持しているので、正確に処理すれば保存時に読み込み時と同じ書式で保存できる。
Perl 日付のフォーマット出力
先日、日付関連のプログラムを作ったついでに日付を良く使いそうな形式を連想配列に定型出力するスプリクトを考えてみました。
続きを読む
Perl:一定時間でループ処理から脱出するプログラム
レンタルサーバーだと1回のCGIの実行時間が制限されているので、長いループ処理の途中で制限時間が来たら処理を中断するプログラムを考えてみました。
Perl:変数・配列・連想配列の速度比較
変数と配列と連想配列の速度がどの程度違うのか気になったので調べてみた。
Perl:入力フォーム(POST/GET)からの受け取り
Perlでよく使用する入力フォーム(POSTやGET)から値を受け取る時の処理を調べてみました。
続きを読む
Perl:CSV形式の配列変数から値を検索(抽出)する
以前作成した&csv_load()でCSVファイルから読み込んだデータからキーワードが含まれる行を抽出します。
Perl:ページ処理
前からの続きで、CSVデータを表示するプログラムを作っているがデータが多いとTABLE表示でブラウザが応答しなくなるのでページを分割して1ページの表示件数を少なくする処理を考えてみた。
Perl:CSV関連ルーチンのサンプルプログラム
この3日で作った下記のCSV関連ルーチンで簡単なプログラムを作ってみた。
・csv_load・・・CSVファイルから配列変数@csv_lineに読み込む
・csv_save・・・CSVファイルに@csv_lineの内容を書き込む
・csv_sort・・・指定の列で@csv_lineを並び替える