سؤال

يمكن لأي شخص أن يشرح كيف متغير النطاق يعمل ضمن بو الدورة ؟ ما هي الطريقة الصحيحة لتمرير الدولة في الدورة ، دون التأثير على غيرها من الجلسات ؟

شكرا جوش

هل كانت مفيدة؟

المحلول

تحديد النطاق يتأثر بو.

يمكنك استخدام بو كومة (يمكن الوصول إليها من خلال $_[HEAP]) لتمرير البيانات حولها بين مختلف المتعاملين.

وفقا مستندات, كومة متميزة بين الدورات بشكل افتراضي ولكن من الممكن تجاوز هذا حتى دورات مختلفة حصة كومة.

sub my_state_handler {
    $_[HEAP]{some_data} = 'foo';
    $_[KERNEL]->yield('another_handler');
}

sub another_handler {
    print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top