Home > Perl
Perl Archive
CGIモジュールで RSS Auto-Discovery を作成する方法
- 2006-09-14 (木)
- Perl
小ネタ。以下のように書くことで、ページに対応した RSS Feed をブラウザに知らせる為の RSS Auto-Discovery : <link rel="alternate" /> タグを出力させることができるようです。
use CGI; my $cgi = CGI->new; print $cgi->header(-charset => 'utf-8'); print $cgi->start_html( -title => 'hoge', -head => CGI::Link({ rel => 'alternate', type => 'application/rss+xml', title => 'RSS 2.0', href => $cgi->url(-base=>1) ."/index.xml", }), ); print $cgi->end_html;
- Comments: 0
メールのFromやToに日本語を使いたい - ヘッダ部分のMIMEエンコードについて
- 2006-07-26 (水)
- Perl
一般的なメーラーで受け取った際に、Fromの部分が
From: iandeth@example.com
みたいな素メールアドレスじゃ無く、
From: 石橋利真
のように任意の日本語文字列が表示されるようなメールを、CGIから送信したくて色々とお勉強。
- Comments: 2
Spreadsheet::ParseExcel - ごくごく普通の使い方メモ
- 2006-07-06 (木)
- Perl
川合孝典さん作の、Perlからエクセルシートを扱えるCPANモジュール - Spreadsheet::ParseExcel - の使い方基本形。サンプルコード備忘録。
- Comments: 3
文字列のutf8-flag状態を手軽に調べる - DBI::data_string_desc()
- 2006-07-04 (火)
- Perl
yet another way to peek at scalar's utf8-flag...
DBIモジュールのperldocを読んでいて「む、これイイかも」と思えたユーティリティ関数。任意の文字列なりスカラ変数なりを渡すと、utf8-flag状態 / ascii or non-ascii 判定 / 文字数 / バイト数 ... 等の詳細情報をポロッと返してくれます。
use DBI;
print DBI::data_string_desc('hoge');
#実行結果
UTF8 off, ASCII, 4 characters 4 bytes
- Comments: 0
モジュールをuseした際のメモリ使用量(増加量)を調べてみる
- 2006-07-04 (火)
- Perl
GTop - Perl interface to libgtop
perl.apache.org にある mod_perl パフォーマンスチューニングのドキュメントにて解説されていた、ある特定のモジュールを use した際のメモリ増加量を調べる方法。GTop っていうCPANモジュールを、こんな感じに使うことでお手軽に調べることができるようです:
- Comments: 0
一般ユーザ環境におけるCPANモジュールの使い方
- 2006-06-19 (月)
- Perl
先週公開した、じゃらんWebサービスを使ったサンプルサイト「シンプル宿検索」にて、perlのソースコードも一緒に公開してみたのですが、さっそく興味を持ってくれた方から問い合わせを頂きました。
cgiを実行させようとしたら以下のエラーが出てしまいました:
Can't locate Template.pm in @INC (中略) at search.cgi line 5 ...
Template.pm モジュールがインストールされてないよ!って怒られています。あー、コード公開する際は必要なCPANモジュールも一緒に添付しといてあげたほうが親切なのかな?いやでもそれ面倒くさいし無理あるなあ・・・。
- Comments: 9
いつでもどこでも、すぐに DateTime モジュールを使いたい
- 2006-06-04 (日)
- Perl
前回のエントリ 「Perlで日付・時間操作 - DateTime モジュールの使い方」で書いたとおり、とっても便利なDateTimeモジュールですが、強いて難点をあげるとすれば、必要な依存モジュールが多いこと = インストールが面倒くさい事かと個人的には思います。shell と make コマンドが使える環境ならば、"$ perl -MCPAN -e 'install DateTime' " で自動インストールしちゃえるのですが、これができない状況:
- telnet 禁止の環境で cgi 作りたい場合 (無料ホームページサービス等)(顧客のサーバ環境での開発で、クライアントに信用されていない状況とか)
- サーバの保守・セキュリティ体制がうんちゃらで make コマンドの利用が規制されている場合 (出くわした経験あり)
こんな状況下だと、とたんにDateTimeモジュールを利用する事は難しくなってしまいます。使いたいけど使えない。そんな状況でお悩みのあなたに・・・
- Comments: 0
Perlで日付・時間を操作 - DateTime モジュールの使い方
- 2006-06-04 (日)
- Perl
Perlには、日時の加・減算を扱うモジュールが標準でついてきません。僕の仕事場ではずっと、同僚が作ったオリジナルモジュールを皆で使いまわしていたのですが、今になって、世間的 (CPAN) にはどんなものがあるのか気になって調べてみました。※参考になったのは miyagawa 氏のメールマガジンの過去記事と、perl.com の The Many Dates and Times of Perl なるエントリでした。
- Comments: 0
Perl/CGI辞典 - 土井 毅さん 著 - にて use strict が推奨されていない件について
- 2006-05-19 (金)
- Perl
Pocket詳解 Perl/CGI辞典 - WINGSプロジェクト 土井 毅 著, 山田 祥寛 (監修)
仕事の息抜きに、会社の先輩が持っていた Perl リファレンス本を何気なく手にして読み始めたものの、とても賛同しがたい記述を発見してショックを受けました。ちなみに初版発行日が 2006年5月5日 の、最近書かれた本です。
- Comments: 0
Perl の use と require の違い
- 2005-12-05 (月)
- Perl
以前飲み会で、会社の先輩と「use と require の違いってなんじゃ?」てな話をした際、知識不足ゆえうまく答えが出せなかったのですが、Programming Perl 等をちょろちょろ読み始めた今なら、ちょっとはマシな回答が出来る気がした /w のでまとめてみました。
- Comments: 0
Attribute::Handlers と use encoding 'utf8' を併用した際の妖しい挙動
- 2005-12-01 (木)
- Perl
Attribute::Handlers を利用しているモジュール - Test::Class を使っていて出くわした現象。use encoding を宣言した、下記のようなスクリプトを実行しようとしたらコンパイルエラーになってしまいました:
- Comments: 0
XML::Simple は遅い説における意外な落とし穴 - おまけ編
- 2005-11-29 (火)
- Perl
前回の記事に引き続き、XML::Simple モジュールとその背後で利用されるパーサーにおける、ややおまけ的な内容について記述してみました。
- Comments: 0
XML::Simple は遅い説における意外な落とし穴
- 2005-11-29 (火)
- Perl
「XML::Simpleは処理速度が遅い」説といえばNDO::Weblogさんの記事 Perl で XML の処理はどれが速いかベンチ がすぐに思い浮かびます。初見した時はずいぶん感心した覚えがあり、以来、業務で XML::Simple を使う事に多少なりとも躊躇するようになったものです。そんな中、現在仕事で XML parsing with Perl な案件を受け、CPANにUPされている様々な XML 解析系モジュールの処理速度を計測しているのですが、その際気付いた、XML::Simple の意外な落とし穴についてまとめてみました。
- Comments: 2
Benchmark モジュールの使い方、結果情報の読み方
- 2005-11-21 (月)
- Perl
仕事で Benchmark モジュールを使う機会があったので、使い方&結果情報の読み取り方をまとめてみました。基本的には perldoc 読めばオールオッケーでしょ?と思っていたのですが、docs では結果情報の読み方についてはあんまり触れられていなかった為、ガッツリ補足してみました。
- Comments: 0
日本語対応 文字組み→画像描画 Module 作ってみた - 初 CPAN Module 登録
- 2005-10-04 (火)
- Perl
初めて CPAN に module をアップしてみました。HOWTO についていろんなドキュメント読みつつ、週末嫁を寝かしつけた上でこっそりと module 用の pod ドキュメントを書きつつ... やっとこさ形になりました。これで気分はいっぱしの Perl 野郎(気分だけ?)。
http://search.cpan.org/~bashi/
以下モジュールの簡単な概要です。詳細は CPAN 上のドキュメントを参照って事で。
- Comments: 6
RSS Feedの簡単な加工の仕方
- 2004-05-13 (木)
- Perl
CNET Japan の最新ニュースヘッドラインを自分のBLOGのサイドバーに表示させる といった、RSS(*.rdf)を公開している任意のサイトの情報を自分のページに設置できる、RSS FeedをJavaScriptとしてHTMLに埋め込む方法をご紹介。以前、2回に渡って XML::Simple を使った PERL でのXML処理手法を書きましたが(コレとコレ)、今回はその手法を使っての実例紹介です。また、Googleにて "RSS javascript" と検索すると、
miyagawa氏のBlog Developer's Cookbook
→ RSS feed を JavaScript で HTML に埋め込む
naoya氏のNDO::Weblog
→RSS を整形して SSI で表示してみました
等のページにて同様の機能を実現する方法が紹介されていましたが、ここで紹介するのはそれらとはまた違った、「簡単なソースコード」「更新に手間がかからない」といった点を重視した実装方法を述べてみます。
- Comments: 0
XML::Simple の使い方 part.2
- 2004-04-09 (金)
- Perl
search.cpan.org XML::Simple
↑基本的な使い方はCPANにすべて記載されてます(当たり前)。
ですので作者本人も触れていない、「日本語を含んだXML」をXML::Simpleで取り扱う際のポイントをココで紹介してみようかと思います
(仕事で使う際にbashi本人が調べて気づいた事のみになりますが)。
- Comments: 0
XML::Simple の使い方
- 2004-04-09 (金)
- Perl
search.cpan.org XML::Simple
↑基本的な使い方はCPANにすべて記載されてます(当たり前)。
ですので作者本人も触れていない、「日本語を含んだXML」をXML::Simpleで取り扱う際のポイントをココで紹介してみようかと思います
(仕事で使う際にbashi本人が調べて気づいた事のみになりますが)。
- Comments: 0
XML::Parser と encoding指定について
- 2004-04-09 (金)
- Perl
Perl XMLでencoding='Shift_JIS'や'euc-jp'を使う
Hippo2000さんの上記ページにお世話になったのでご紹介。
PerlでXML扱う際におそらく使う事になるであろう XML::Parser モジュールですが、標準インストールの状態ではエンコーディング指定が EUC-JP や Shift_JIS になっているXMLを読み込むとエラーになります(XMLのヘッダ情報が以下のようになっているもの)。
- Comments: 0
Perl version 5.003 と CPAN
- 2004-04-09 (金)
- Perl
ここ数年、大半の開発を perl5.003 環境下にて行ってきました。jpatch があたっているので日本語文字周りの配慮は一切不要なのは便利ながらも、自分的にそれ以上に痛いのが
CPANモジュールが使えない場合が多い
という点です。何故なら、後継バージョンにて採用されたスクリプト記述ルールを使って書かれているソースを version 5.003 で解釈(compile)出来ないから。具体例を1つ挙げると、HTML::Template があります。一番古いバージョンである 2.0 でも perl5.003 環境では使えません。何故かと言うと、ソースの至る所にこんな記述があるからです:
- Comments: 0
Home > Perl