2010-01-01から1ヶ月間の記事一覧
暮れにやって以来、久々に豆を煮た。甘さ控えめに仕上げた。
AnyEvent と Coro を使って、WEB から非同期に並行ダウンロードするプログラムの習作を作ってみた。http://kaede.to/~canada/doc/wiser-clawer-sample-using-coroをだいぶ参考にさせてもらっている。紹介されている非同期クローラはとてもいいのだが、自分が…
次のプログラムでは、$w2 のスコープはブロックの中だけなので、ブロックを抜けたときに undef され、timer watcher $w2 はキャンセルされる。 use strict; use warnings; use AnyEvent; my $cv = AnyEvent->condvar; my $w3 = AnyEvent->timer( after => 3,…
AnyEvent の watcher をキャンセルする実験。今から 2 秒後の発火を待つ timer watcher を、今から 1 秒後にキャンセルしてみる。 use strict; use warnings; use AnyEvent; my $cv = AnyEvent->condvar; my $w3 = AnyEvent->timer( after => 3, cb => sub {…
Coro::Intro を読んで Coro::Channel について知ったので、これを使ったプログラムを書いてみることにした。ネタとしていいものが思い浮かばなかったので、回文素数 (回文数である素数) を生成するジェネレータを無駄に作ってみた。
大量の URL からファイルを持ってきて解析するプログラムを作っている。プロセスを並行して走らせ、それぞれが LWP を使ってファイルをダウンロードしている。で、これは Coro + AnyEvent を使うと速くなるよ、という噂を聞いたので Coro + AnyEvent を勉強…
use strict; use warnings; my $x = 2; my $y = 4; # (1) line 5 if ((my $y = 2) == $x) { # (2) line 6 my $y = 5; # (3) line 7 print "x=$x, y=$y\n"; } elsif ((my $y = 3) == $x) { # (4) line 10 print "x=$x, y=$y\n"; } else { print "x=$x, y=$y\n…
テキストファイルの n 行目から m 行抜き出すワンライナー。次のは 5000 行目から 1011 行(コメントを受けて修正)抜き出すもの。 $ n=5000;m=10;e=$(($n+$m));sed -n -e $n,${e}p -e ${e}q ファイル名 私が sed を使うのはこれくらいが限度で、とても sed 遣…
CPAN でインストールしたもののリストを表示するワンライナー。 $ perl -MExtUtils::Installed -e '$i=ExtUtils::Installed->new;print "$_ ".$i->version($_)."\n" for $i->modules;' 参考 年越しそばと初詣は絶対に欠かせない: CPANでインストールしたモジ…
$ perl -e 'print "[$_]\n" foreach qw/ a b c /;' [a] [b] [c] であって、 $ perl -e 'print "[$_]\n" foreach qw/ a b c /;' [] [a] [b] [c] [] ではない。ま、当たり前か。
あるモジュールが標準モジュールか、いつからか、どのバージョンなのかを調べるには Module::CoreList で。 C:\Users\takeyuki>perl -MModule::CoreList -e "print Module::CoreList->first_release('Module::CoreList');" 5.009002 Module::CoreList 自体が…
あるディレクトリ (たとえば /tmp/a/b/c/) の下、いくつかディレクトリを掘った下にあるファイルがある (たとえば、/tmp/a/b/c/x/y/z.txt)。このファイルを別のディレクトリ (たとえば /tmp/a/d/e/) の下に移動したい。ただし、元ディレクトリ以下のディレク…
HTML::TreeBuilder で HTML を parse したとき、文字列中の改行コードは半角スペースに変換される。pre タグの中の改行コードはそのまま残る。正確に言うと、pre タグと textarea タグの中以外のホワイトスペースの連続は、半角スペース一個に変換される。 …
もっと自由に母乳育児―マニュアルより赤ちゃんとの「対話」を (健康双書):60% もっと自由に母乳育児―マニュアルより赤ちゃんとの「対話」を (健康双書)作者: 山西みな子出版社/メーカー: 農山漁村文化協会発売日: 1995/07/01メディア: 単行本 クリック: 1回…