gpt4 book ai didi

perl - perl 模块中的静态变量

转载 作者:行者123 更新时间:2023-12-01 06:00:40 24 4
gpt4 key购买 nike

我想在一个调用模块的模块中设置一个变量,并想在另一个调用模块中检索该值。

我做了这样的事情:

package Test;

our $data = undef;

sub set_data
{
$data = shift @_;
}

sub get_data
{
return $data
}

我将数据设置为:

package Mod1;
use Test;

Test::set_data(1);

我正在检索数据:

package Mod2;
use Test;

print Test::get_data();

但是我在检索值时得到了 undef。

我的实现有什么问题?

最佳答案

我已经找到问题了。 setter 代码

package Mod1;
use Test;

Test::set_data(1);

正在线程函数中运行。我发现在函数内部,变量的状态正在按预期发生变化,我还可以访问最新数据。

一旦我离开线程函数,变量的值就不再存在。我所说的 out of the threaded function 是指在我加入所有正在运行的线程之后。

关于perl - perl 模块中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com