sironekotoroの日記

Perl で楽をしたい

最近のPerlの勉強とか:2016年06月

最近やっている事

  • 「すぐわかるオブジェクト指向Perl」を読み終えた後、既存の自作プログラムの改修をやっておりました
  • RSSフィードを持ってきて、自分の好きに変形して出力するもの
  • 以前に作ったものはこういうもの
    • 再利用性考えてないので、1つのRSSフィードに1つのスクリプトで対応
    • モジュールはネットに書いてあった例をコピペ、又はそれにして毛を生やした感
      • それでもちゃんと動くんだからたいしたもの
    • 機能ごとにサブルーチンに分割してある
      • 他のRSSを処理する時はサブルーチンをコピペ
      • しかし、作成時期により微妙な差異がある
    • VPS上の cron でうまく動かなかったので、 シェルスクリプトに起動スクリプトを書いて、そこから Perl スクリプトを呼ぶという謎仕様
  • これを以下のように変更
    • オブジェクト指向で作り直し
    • 共通した処理である、RSS取得 , パース , Atomへの変換 , 出力 をメソッドで実装
    • RSSフィードごとに異なる再構築部を個別で実装
    • プロパティの取得と変更はちゃんとセッター、ゲッター経由で実施
    • cron から直接スクリプトを呼んで実行させる
      • cron から plenv で入れた Perl にパスが通っていなかった事に気づき解決

作りなおしてみて

  • RSSフィードごとに異なる部分と共通処理部分を分離する、というのが実現できて嬉しい
    • さらに楽
  • オブジェクトの中のデータをメソッドでグニグニするという感覚を得る事が出来た
  • それは既に Time::Piece とか Web::Scraper で使わせてもらっていた事ではないか!という気づき

これからのPerl勉強

  • 他の既存プログラムの改修
  • さらなるPerlの勉強
    • 職場の昼休み中に結城先生の「Perlクイズ」を1日1問ずつ
    • 土日に集中して・・・何をやろうかねぇ。以下の本が候補なのだけど
  • あと、テストを書く習慣が無いので、身につけないとなぁ
    • いまは Data::Dumper 使って say Dumper $hogehoge 頼み
  • PerlTidi 頼みなので、ちゃんと Perl Best Practice 読む
  • それに、そろそろ仕事で本格的に楽をするためのプログラム組みたい・・・
  • 楽をして儲かるとなお良い・・・
  • やりたい事いっぱいだ!

そういえば

  • 昔を思い出す
    • オブジェクト指向?知らなくても動くプログラム作れるよ」
    • 「リファレンス?知らなくても動くプログラム作れるよ」
    • 「ハッシュ?知らなくても(略」
  • そんなふうに考えていた時期が俺にもありました
  • 構造や働きをまとめることで結果、楽をする事が出来るって素晴らしい事なんだよなぁ
  • きっともっと楽をしたり、出来る事が広がる知識があるはず
  • なにより、「俺の考えた最強のプログラム」作って動かすのはとても楽しい!

One More Thing

  • Javascript も勉強してたけど、自作Perlスクリプトを作り直すのが楽しくて手を付けてなかったので再開させる