最近の更新

Perlの練習 その2 家計簿 PerlKakeibo 詳細メモ

家計簿の目標:

日付と項目別の金額を入力して、それをCSVファイルとして保存し、日ごとの一覧を表示、月の合計金額を表示、データの修正を行えるようにする。

必要最小限の家計簿の機能:

  1. 入力項目は「日付、外食費、食品、雑貨、本・・・備考」。受け取ったレシートから項目別に入力します。
  2. 入力されたデータはカンマ区切りcsvファイルに保存。
  3. CSVファイル名は「年月.csv (201106.csv)」 にする。1ヶ月に1ファイルで1年で12ファイル。後々の変更が簡単にできるよう、1年1ファイルのほうがよかったかも。
  4. CSVファイルの中は1日1行。「通番,日付,曜日,備考,トータル,項目1,項目2・・・」
  5. 日別一覧表と月別合計金額を表示する。毎月の合計はやはり知りたいです。
  6. データの修正ができるようにする。これができないと話になりません。

家計簿実物はこちらにあります。適当にためしてみてください。

結果と感想

2ヶ月ほど使ってますが、なんとか動いてます。

家計簿として役立つかどうかは別にして、節約が身につく気がします。

毎日記録をつけていると、買うかどうか迷ったときに、月々の平均値が増えるのが嫌で、無駄なものを買わなくなります。

ワットチェッカーによる節電と似たような効果です。

100円ショップでの無駄遣いなどが減ります。

「これを買うと200円かー。」

「+200は今日は入力したくない。」

「やめておこう。必要だったら明日買おう。」

となります。

紙の家計簿でも同じことですが、私の場合紙の家計簿は続かない気がします。

プログラムの中身

Perlを少しでも知っている方なら簡単だと思います。(CGIの基本については「とほほのCGI入門」参照)

5つのファイルと1つのフォルダ(中に1つのファイル)があります。

Perlkakeibo.zip KB (無意味なコメント、必要の無いテスト用エラー行などあって、中身が汚いので整理中です 201106)

構成

ファイル:

  1. kakeibo.html  入力フォーム html
  2. kakeibo.cgi  メインCGI cgi
  3. end.html  入力完了時表示する html
  4. main.css  スタイルシート用 css
  5. jcode.pl 文字コード変換用ライブラリ(歌代和正さん作) pl

フォルダ

  1. log  log保存用フォルダ
    最初のファイルはcountlog.txt のみ。
    データを入力するとCSVファイルが保存されます。

  1. データの修正入力では月の合計金額一覧には反映しません。データ削除してから、新規入力すれば反映します。不便なのでそのうち直します。
  2. 年越しできるか試してません。年末年始に何かおかしな動作をするかすかもしれません。年始に前年の家計簿をつける場合は、年月日を8桁(例 20111231)で入れれば多分いけるのではないかと思います。
  3. 項目名は簡単に変えられます。kakeibo.html 、kakeibo.cgi 、 などの項目名を変えてください。CSVファイルには数値しか記録してません。
  4. 2月31日とか入力できてしまいます。
  5. その他にも何かあるかも。

その他

  1. 自己責任で使ってください。いっさい責任はとりません。
  2. jcode.pl 使ってます。jcode.plについては詳しくはwikipediaで。
  3. 間違い、欠陥、無駄、危険などなどがありましたら教えてください。とにかく動けばいいということで適当に作ってます。

 

*********

目次(ホーム)

その他の項目