GUIのイベントを拾ったり、IRCクライアントのように登録したコールバックが何度も呼ばれるパターンでは、return型の関数にするのは難しいと思います。 while でループさせるような作りにしたらできそうですけど、それがわかりやすいかどうか。 Coro::AnyEventでフロントエンドをコールバックを使わずに書くComments やっつけ仕事で一応やってみましたが・・・。特にIRC::Clientで、while内でイベントの種類で分岐しまくる作りとなる辺り、なんか逆行してる感がw Twitter::Streamの方はいい感じだと思います*1。発生するイベントが1個だと、コールバックが何度も呼ばれるライブラリでもうまくCoroにあいますね。 package main; use strict; use warnings; use Coro; use Encode; use utf8; my