【问题标题】:How does variable scoping work in a POE session?变量范围如何在 POE 会话中工作?
【发布时间】:2009-06-30 15:18:30
【问题描述】:

谁能解释变量作用域在 POE 会话中的工作原理?在不影响其他会话的情况下,在会话中传递状态的正确方法是什么?

谢谢 乔什

【问题讨论】:

    标签: perl session-state scope poe


    【解决方案1】:

    范围不受 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"
    }
    

    【讨论】:

    猜你喜欢
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多