プログラミング

11/13ページ

OpenIDを使う為のPerlモジュールをインストール

以下の順でインストールするとうまくいくらしい。 Math::BigInt Math::BigInt::GMP Crypt::DH Net::OpenID::Consumer Net::OpenID::Consumerをインストール時にXML::Simpleが足りなかったので先にインストールした。 参考:http://www.atmarkit.co.jp/fsecurity/rensai/openid03/openid01.html 関連: Net::OpenID::Consumer::Lite http://d.hatena.ne.jp/tokuhirom/20081129/122792323 […]

LWP::SimpleでUserAgentを指定する

LWP::SimpleはUserAgentを指定出来ないという文書が多いけどどうやら指定出来るらしい。 use LWP::Simple qw/:DEFAULT $ua/; $ua->agent('My UserAgent'); これでLWP::UserAgentまでもない場面でUserAgentが必要なときにも安心。 参考:LWP::Simple で UserAgent を変更する

perlで外部プログラムを実行する際の注意点

  • 2009.08.28

system関数やパイプを使って外部プログラムを実行する時は 汚染チェックを必ずする。 エスケープするべき文字 & ; ` ' \ " | * ? ~ < > ^ ( ) [ ] { } $ \n \r 以下の置き換えで全てをエスケープすると良い。 s/([\&\;\`\'\\\"\|\*\?\~\\^\(\)\[\]\{\}\$\n\r])/\\$1/g; 参考:http://www.stackasterisk.jp/tech/program/perl02_02.jsp

JSONPのIE対応 UTF8で動かない件

IEでだけ動作しない事が多いようなのでメモ JSON(JSONP)で name( { 'data' :[ ['あいう','せそ'], ['かきく','けこ'], ['さしす','せそ'] ] } ); こんな感じのものを使おうとすると ']'がありませんというようなエラーが出る。 cgi等スクリプトで出力する場合はレスポンスヘッダを明示的に指定する必要がある。 perlなら print "Content-type: application/json; charset=UTF-8;\n\n"; のように。 charsetは'utf8'ではダメで'UTF-8'か'utf-8'とハイフンが必要のよう […]

Linux システムコマンドの標準出力をperlで受け取る

  • 2009.07.30

Linuxのコマンド ls -cr `find /tmp -type f` ・find /tmp -type f /tmp 以下のファイル全てを検索 ・ls -cr 更新日時を古い順にソート つまり /tmp 以下のファイルを更新日時が古い順にソートするコマンド。 ちなみに、 ls -c  最後にファイルのステータスを変更した時間でソート ls -t  修正時刻順でソート。 ls -u  最後にファイルにアクセスした時刻でソート perlで使う時は 、 open(IN, "ls -cr `find /tmp -type f` | "); print while(); のように、openの中のコ […]

eval{}; 中のreturn(); に注意

  • 2009.04.08

例えば sub xxx{ eval{ my $a=1; if($a){return(0);} }; } if(&xxx){print"abc";} else{print"def";} などとするとうまくいかない。 sub xxx{ eval{ my $a=1; if($a){die;} }; if($@){return(0);} } などとしよう。

ただ単にダミー画像をperlで表示するだけのルーチン

  • 2009.02.02

CGIでダミー画像(GIF)を表示するだけのスクリプト。画像データ必要なし。 my @dummy = ("47","49","46","38","39","61","08","00","08","00","80","00","00","00","00","00","FF","FF","FF","21","F9","04","01","00","00","01","00","2C","00","00","00","00","08","00","08","00","40","02","06","8C","8F","A9","CB","ED","5D","00","3B" );print "Cont […]

perlでHTMLから本文を抜き出せるモジュール HTML::ExtractContent 他

  • 2009.01.28

HTMLから本文を抜き出せるモジュール HTML::ExtractContent 作者:伊奈林太郎(id:tarao) 解説スライド:http://up.orezdnu.org/papers/Kansai.pm/2009-03-22/slide.pdf 参照:http://perl-mongers.org/2008/10/extract-content-from-html.html HTML::ContentExtractor 参照:http://d.hatena.ne.jp/tohtas/20081102/1225642884 HTML::ContentExtractor + Lingua: […]

1 11 13