perl
すぐに忘れるのでメモ。 HTML::Templateをデフォルトのまま使うのはかなりやっかい。 テンプレートで定義していないパラメータも、HTML::Templateに与えてしまうとエラーが出る。 テンプレートにセットする値は、事前に不要な値を削除する必要があんのかなと…
最近DocomoのimodeIDの取得対応をしたので、とりあえずまとめ。■Docomo DocomoはimodeIDというのがhttp環境であれば下記のようにして取得できる。 現在、https環境では送信されないので注意が必要です。 Perlのスクリプト側では下記のようにして取得 my $uim…
Perlに関するカンファレンスYAPC::Asia 2008の登録受付が始まったようなので申込みました。 http://conferences.yapcasia.org/ya2008/ これとか面白そう。 「(仮題) モバゲータウン基盤モジュールオープンソース化と解説」 http://conferences.yapcasia.org/…
PDFをperlから動的に作成するPDFJというフリーのソフトウェアを触ってみた。 http://hp1.jonex.ne.jp/~nakajima.yasushi/UTF8にも対応しているということで、今回はUTF8で作成。もちろんPerlのソースはUTF8で保存してます。PDFJの良いところは、動的に枠線付…
Unicodeにしか対応していない特殊な漢字を含むエクセルファイルがあるとします(レアケース?) これを、DBサーバのUTF8形式のテーブルに一括登録する方法(今回はPostgreSQLで実施。CSVファイルインポート文が違うだけで、MySQLでも他のDBサーバでも対応可能…
Jcode.pmで、h2zというメソッドがあり、これを使うと、半角カナを全角カナにできるってことだったので、下記のように実装(ファイルはUTF8で保存) use Jcode; use utf8; my $str = 'アイウエオ'; my $obj = Jcode->new($str,'utf8'); #半角カナを全角カナに変換 …
DBにPerlのDBIモジュールを使ってInsertするときは、下記のようにしてました。 テーブル名はTableName,カラム名はhoge1,hoge2,hoge3とした場合 my $dbcon = DBI->connect(....); my $dbInsert = $dbcon->prepare(q/insert into TableName (hoge1,hoge2,hoge3…
ちょっと訳あって、sjisのwebアプリを作ってます。DBはPostgres(EUC_JP), 言語はPerl (SJIS)、HTMLもSJIS。 Postgresもsjisネイティブにしたかったけど、eucかutf8しかサーバ側のエンコーディングは対応していないので、クライアントエンコーディングをsjis…
perlでCGIの開発をする場合、 use CGI::Carp qw(fatalsToBrowser); とすると、InternalServerErrorの画面に、error_logに出力されるような内容のエラーメッセージを出してくれるので、開発が効率的に進む。 ただ、開発機ではいいんだけど、本番機ではこのエ…
CPANのCGIモジュール3.15では問題なかったんだけど、3.29にしたら突然問題発生。UTF8でデータをブラウザから受け取り、CGIモジュールのparam関数でデータを取得すると、「wide character print」みたいなapacheエラーが発生。 前回(http://d.hatena.ne.jp/ic…
今の開発は、DB, HTML, プログラムの文字コードを全てUTF-8で統一している。そうすると、charsetがutf-8になるので、ブラウザから送信される文字もutf-8になる。それを受け取って、DBにutf-8で書き込む。DBのデータを画面に出力する場合もDBからUTF8でデータ…
rpmでImageMagickがインストールされてたので、perlMagickもCPAN経由で普通にインストールできると思い実行したけど、MagickCore.hが無いというエラーでインストールできず、色々調べて下記の方法で成功したのでメモ。環境はVineLinux4.1下記のサイトから、I…
WEBでよくある登録・修正・削除の際の確認画面の実装をしてるんだけど、これ結構メンドクサイ。確認画面の例として、Mixiだったら日記を登録する際に、登録確認画面があって、それで問題なければ実際にDBに登録を行ってる。確認画面を作ると、以下の2フロー…
これ知らなくてかなりはまった。hiddenのvalueにセットしたデータがタグと改行コードをエスケープしたデータで、それをPOSTすると、サーバで取得したhiddenの値も当然エスケープされた値そのままかと思っていたが、実はエスケープされている文字は、valueの…
CentOS4.4は、perl5.8.5がインストールされるので、perl5.8.8にしたい場合は、下記の操作が必要。 vi /etc/yum.respos.d/CentOS-Base.repo enable=0をenable=1にするだけ。 [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.cento…
会社のサイトに問合せページを作る。フリーのCGIを使おうかと思ったけど、著作権表示とか色々面倒なので自作した。CPANモジュール使うと、簡単に作れちゃう! 今回の機能はこんな感じ。 問合せ・申込み機能 必須項目・文字列チェック メールアドレスが正しい…
RSSの出力をperlから行ってみた。 とりあえずCPANからXML::RSSモジュールをインストール perl -MCPAN -e shell cpan> install XML::RSS これをやると、XML::RSS::Expatでコンパイルエラーが出る。 ということで、Expat XML ParserというCのライブラリをイン…
日記のデータがCSV形式であり、それを単純にRSS対応させようと思い、ちょっとだけ調査。 XML::RSSが使えそうなので、これをそのまま使おう。 多分これ使えばすぐ出来そう。
昨日、mod_perl2をインストールした時、すでにCGI.pmの3.10がインストールしてあったので問題ないっしょと思ってバージョンアップしてなかった。 そして、mod_perl用のディレクトリで、use CGIを利用するスクリプトを実行させると、 Can't locate Apache/Req…
とりあえずmod_perlを入れてみる。 事前にCPANから、CGI.pmとCompress::Zlibを落としてインストールしておく。そしてCPANからmod_perl2をダウンロード。Apache2にはmod_perl2が必要なので間違えてmod_perl1をダウンロードしないように。ApacheのDSOを使って…
ちょっとCGIのパフォーマンス、DB接続の負荷の低減も兼ねて、mod_perlの導入をしようかと思ってるけど、敷居がちょっと高いね。変数の初期化とかスコープとかをかなり考えて設計しておかないと修正がつらそう。 とりあえず、オライリのmod_perlの本の内容(…