2007年

OpenPNE 公開日記モジュール(OpenDiary)の問題点

  • 2007.10.19

公開日記モジュール(OpenDiary)をOpenPNE2.8.x以降で使うと日記を「外部に公開」とすると「最新日記一覧」に反映されない。 手順通りの他に以下の箇所を修正すると「外部に公開」とした日記が最新日記一覧に表示された。 OPENPNE_DIR/webapp/lib/db/diary.php の736行目付近 修正前 //自分の日記だけを対象にする事も出来る if ($c_member_id) { $where = ' WHERE c_member_id = ?'; $params[] = intval($c_member_id); } else { $where = " WHERE […]

use strict; でperl作成するべき

  • 2007.10.05

宣言していない変数を使用不可にする Perl では C のように変数を宣言する必要がないので必要性がもうひとつはっきりしません。 use strict; が宣言されていると、変数がmy で宣言したプライベート変数か、パッケージ名を含めて完全に記述された変数しか使えなくなります。 不正な変数名の使用によるクラッシュを避けるためです。 このようにコンパイルに影響をあたえるモジュールを pragmatic module といいます。 mod_perlやSpeedyCGIなんかを使う時に誤動作を防ぐためにuseしてプライベート変数化しておくのに便利かも

sjisの罠

  • 2007.06.15

perlの正規表現などのマッチングを行うとエラーになる事がある。 エラーメッセージUnmatched [ in regex; marked by~ どうやらsjis(SHIFT-JIS)でのみ起こる現象のようだ。対象の文字列や変数の中に文字化けする文字(表や申など)があると起こる現象のようです。 このページが参考になりました。http://www.nishishi.com/blog/2006/02/unmatched_in_re.html