【发布时间】:2009-06-30 15:18:30
【问题描述】:
谁能解释变量作用域在 POE 会话中的工作原理?在不影响其他会话的情况下,在会话中传递状态的正确方法是什么?
谢谢 乔什
【问题讨论】:
标签: perl session-state scope poe
谁能解释变量作用域在 POE 会话中的工作原理?在不影响其他会话的情况下,在会话中传递状态的正确方法是什么?
谢谢 乔什
【问题讨论】:
标签: perl session-state scope poe
范围不受 POE 影响。
您可以使用 POE 的堆(可通过 $_[HEAP] 访问)在各种处理程序之间传递数据。
According to the docs,默认情况下会话之间的堆是不同的,但可以覆盖它,以便不同的会话共享一个堆。
sub my_state_handler {
$_[HEAP]{some_data} = 'foo';
$_[KERNEL]->yield('another_handler');
}
sub another_handler {
print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}
【讨论】: