最近の更新
Perlの練習 その2 家計簿 PerlKakeibo 詳細メモ
家計簿の目標:
日付と項目別の金額を入力して、それをCSVファイルとして保存し、日ごとの一覧を表示、月の合計金額を表示、データの修正を行えるようにする。
必要最小限の家計簿の機能:
- 入力項目は「日付、外食費、食品、雑貨、本・・・備考」。受け取ったレシートから項目別に入力します。
- 入力されたデータはカンマ区切りcsvファイルに保存。
- CSVファイル名は「年月.csv (201106.csv)」 にする。1ヶ月に1ファイルで1年で12ファイル。後々の変更が簡単にできるよう、1年1ファイルのほうがよかったかも。
- CSVファイルの中は1日1行。「通番,日付,曜日,備考,トータル,項目1,項目2・・・」
- 日別一覧表と月別合計金額を表示する。毎月の合計はやはり知りたいです。
- データの修正ができるようにする。これができないと話になりません。
家計簿実物はこちらにあります。適当にためしてみてください。
結果と感想
2ヶ月ほど使ってますが、なんとか動いてます。
家計簿として役立つかどうかは別にして、節約が身につく気がします。
毎日記録をつけていると、買うかどうか迷ったときに、月々の平均値が増えるのが嫌で、無駄なものを買わなくなります。
ワットチェッカーによる節電と似たような効果です。
100円ショップでの無駄遣いなどが減ります。
「これを買うと200円かー。」
「+200は今日は入力したくない。」
「やめておこう。必要だったら明日買おう。」
となります。
紙の家計簿でも同じことですが、私の場合紙の家計簿は続かない気がします。
プログラムの中身
Perlを少しでも知っている方なら簡単だと思います。(CGIの基本については「とほほのCGI入門」参照)
5つのファイルと1つのフォルダ(中に1つのファイル)があります。
Perlkakeibo.zip KB (無意味なコメント、必要の無いテスト用エラー行などあって、中身が汚いので整理中です 201106)
構成
ファイル:
- kakeibo.html 入力フォーム html
- kakeibo.cgi メインCGI cgi
- end.html 入力完了時表示する html
- main.css スタイルシート用 css
- jcode.pl 文字コード変換用ライブラリ(歌代和正さん作) pl
フォルダ
- log
log保存用フォルダ
最初のファイルはcountlog.txt のみ。
データを入力するとCSVファイルが保存されます。
注
- データの修正入力では月の合計金額一覧には反映しません。データ削除してから、新規入力すれば反映します。不便なのでそのうち直します。
- 年越しできるか試してません。年末年始に何かおかしな動作をするかすかもしれません。年始に前年の家計簿をつける場合は、年月日を8桁(例 20111231)で入れれば多分いけるのではないかと思います。
- 項目名は簡単に変えられます。kakeibo.html 、kakeibo.cgi 、 などの項目名を変えてください。CSVファイルには数値しか記録してません。
- 2月31日とか入力できてしまいます。
- その他にも何かあるかも。
その他
- 自己責任で使ってください。いっさい責任はとりません。
- jcode.pl 使ってます。jcode.plについては詳しくはwikipediaで。
- 間違い、欠陥、無駄、危険などなどがありましたら教えてください。とにかく動けばいいということで適当に作ってます。
*********
- Perlの基本 その2
- Perlの練習 その2 家計簿 PerlKakeibo メモ
- Perl 時刻の処理はとりあえずこれで
- Internal Server Error でCGIプログラムが動作しない 2008/08
- Perl のエラー解決と疑問点整理 2008/08
- Perlの練習 その1 電気料金の簡易計算フォーム
- Perl の基本
その他の項目