タグ: Perl

[Perl] UAからドコモの機種を判別する正規表現

ドコモ端末向けの自作プログラムを作っている際に、端末の種類毎に処理を分岐する必要が出てきました。そこでドコモが公開している情報を元に、iモードでアクセスされた際に取得できる環境変数 HTTP_USER_AGENT から端末の機種(型番)を取得する正規表現を考えてみました。

my $env = $ENV{HTTP_USER_AGENT};
my($type) = $env =~ m|^DoCoMo\/[\.\d]+\W*(?:(?:MST_v_))?(\w+).*?$|i;

print "機種は $type です";

大半の機種は簡単な正規表現で対応できるんですけど、『SH2101V』って機種が特殊なUAを返すようなので”MST_v_”云々のロジックはその対応の為に入れてます。

なお、ドコモの公開情報によると『D2101V』などのUAに全角スペースが含まれるみたいですけど本当かしらん?それとも誤植?

[Perl] PerlでMQの送受信

WebSphere MQを使った電文の送受信をするにはC言語やJavaなど、IBMがサポートするAPIが用意された言語でしか使用できないと思っていたのですが、先日Perlでもそれを可能にする「MQSeries」なるモジュールが公開されていることを知りました。

さっそくCPANからソースをダウンロードしてAIX機にインストールしていろいろ試してみましたがこれは便利!これまではテストやなんかで特殊な編集を伴う電文の送受信が必要な場合はC言語で面倒な文字列操作をやってましたが、もともと文字列編集が得意なPerlだとそうした負荷が大幅に軽減できます。複数の環境を使い分ける必要がある場合もPerlだったらあちこちでコンパイルする必要もありません。

「google-code-prettify」を導入してみた

先日MYCOMジャーナルに掲載されていた「ハイライトもGoogle流 – “google-code-prettify”でソースコードに色付けを」という記事で存在を知ったばかりのシンタックスハイライトモジュール「google-code-prettify」。

“シンタックスハイライトモジュール”というと難しそうですが、要はHTMLで利用する<pre>タグの中に記述したコードを自動で色分けしてくれるもの。秀丸に代表される高機能エディタやVisual Studioなどの統合開発環境で各種ソースを表示したときに、コメント部と実行コード部は見分けやすいようフォント色を変えて表示してくれてますが、それをJavaScriptとCSSを使ってやっちゃうよ、というなんとも素晴らしいものなのです。

そんな便利なものをGoogleが無償公開していて導入も簡単なのだから使わない手はありません!ってことでさっそくこのサイトにも導入してみました。

Ajax逆引きクイックリファレンス

Ajax逆引きクイックリファレンスWeb2.0対応for Windows & Macintosh毎日コミュニケーションズより発刊されている『Ajax逆引きクイックリファレンス』はWeb2.0の要ともいえるAjaxを実際に組み込む上での「どうすればいいの?」「どうやるんだったっけ?」といった具体的なシーンに逆引きで解してくれるオススメの一冊です。

すっきりしたレイアウトで読みやすく、サンプルの豊富さも類似書籍に比べると大変優秀。JavaScriptフレームワーク「prototype.js」を用いるシーンにも対応しています。

基礎からの説明はほとんどなされていないので、一からAJAXを学ぼうとしている人には不向き。XMLやPerlなどWeb全般の幅広い知識の基礎を押さえた上でステップアップを図ろうとしている人にとって適したレベルになっています。勿論、わたしのような忘れっぽい技術者にとっても手元に置いといて損はありません。