以下の順でインストールするとうまくいくらしい。 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を指定出来ないという文書が多いけどどうやら指定出来るらしい。 use LWP::Simple qw/:DEFAULT $ua/; $ua->agent('My UserAgent'); これでLWP::UserAgentまでもない場面でUserAgentが必要なときにも安心。 参考:LWP::Simple で UserAgent を変更する
system関数やパイプを使って外部プログラムを実行する時は 汚染チェックを必ずする。 エスケープするべき文字 & ; ` ' \ " | * ? ~ < > ^ ( ) [ ] { } $ \n \r 以下の置き換えで全てをエスケープすると良い。 s/([\&\;\`\'\\\"\|\*\?\~\\^\(\)\[\]\{\}\$\n\r])/\\$1/g; 参考:http://www.stackasterisk.jp/tech/program/perl02_02.jsp
IEでだけ動作しない事が多いようなのでメモ JSON(JSONP)で name( { 'data' :[ ['あいう','せそ'], ['かきく','けこ'], ['さしす','せそ'] ] } ); こんな感じのものを使おうとすると ']'がありませんというようなエラーが出る。 cgi等スクリプトで出力する場合はレスポンスヘッダを明示的に指定する必要がある。 perlなら print "Content-type: application/json; charset=UTF-8;\n\n"; のように。 charsetは'utf8'ではダメで'UTF-8'か'utf-8'とハイフンが必要のよう […]
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の中のコ […]
例えば 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);} } などとしよう。
配列をprintする時の区切り文字を変えるには $" に代入するだけ。 @list= (1,2,3,4); $" = ','; print "@list"; 実行結果 1,2,3,4 ただし、 print @list; "" (だぶるクォート)無しだと反映されない。
PERLでMySQLにデータを挿入する実験。 実験スクリプト INSERT を100万回繰り返す。 for(1..1000000){ $sql = <<"EOM"; INSERT INTO `table_name` (`col1`,`col2`,`col3`,`col4`) VALUES ('10','11','12','13'); EOM $sth = $dbh->do($sql)|| die $dbh->errstr; } 結果:途中でサーバエラー Server error! The server encountered an internal error and […]
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 […]
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: […]