我试图从我的 IRC 机器人中的 package_state 获取输出数据,它使用 POE::Component::IRC 作为基础。但我似乎无法做到。
基本上,在 POE 会话之外的子例程中,我希望在 POE 从服务器接收数据时从事件子例程中获取数据。我尝试将数据保存在全局数组甚至外部文件中,但是外部子例程会在更新数据之前从中读取旧数据。
更具体地说,我试图让这个机器人检查某人是否是“ison”,如果是,则返回 true(或从 irc_303 获取所有数据(@_))。
像这样的东西:
sub check_ison {
my $who = "someguy";
$irc->yield(ison => $who);
$data = (somehow retrieve data from irc_303);
return $data; #or true if $data
}