Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl中更新循环中的值_Perl_Loops_Ubuntu - Fatal编程技术网

在perl中更新循环中的值

在perl中更新循环中的值,perl,loops,ubuntu,Perl,Loops,Ubuntu,我想做的是,perl代码将从配置文件中读取并以无限循环打印。更改配置文件中的值后,终端上显示的循环中的值也将更新。有人能帮我解决这个问题吗 这是我的密码: #!/usr/bin/perl use warnings; use strict; use IO::Socket::INET; use CGI; use Config::Tiny; use Data::Dumper; use CGI::Carp qw(fatalsToBrowser); $| = 1; # Write some data

我想做的是,perl代码将从配置文件中读取并以无限循环打印。更改配置文件中的值后,终端上显示的循环中的值也将更新。有人能帮我解决这个问题吗

这是我的密码:

#!/usr/bin/perl
use warnings;
use strict;
use IO::Socket::INET;
use CGI;
use Config::Tiny;
use Data::Dumper;
use CGI::Carp qw(fatalsToBrowser);

$| = 1;

# Write some data to the client
my $file = "/home/gentoo/config.conf";

my $Config = Config::Tiny->read($file);

my $status_in_file = $Config->{"offline_online_status"}->{"offline_online_status.offline_online_state"};
my $status_mode = $Config->{"data_silence_mode"}->{"data_silence_mode.data_silence_mode"};


while (1) {
    sleep 5;
    print "$status_in_file\n";
print "$status_mode\n";
}
终端仅打印第一次运行值,而不打印更新后的值。它将仅显示以下内容:

online
disabled
online
disabled
online
disabled

但当我将配置文件中的值从“online”更改为“offline”时,终端仍会像上面那样打印。如果我更改了配置文件中的值,如何使其更新?

您可以将该
Config::Tiny->read()
放在
中,而(1){…}
,请执行以下操作:

while (1) {
    my $Config = Config::Tiny->read($file);

    my $status_in_file = $Config->{"offline_online_status"}->{"offline_online_status.offline_online_state"};
    my $status_mode = $Config->{"data_silence_mode"}->{"data_silence_mode.data_silence_mode"};

    print "$status_in_file\n";
    print "$status_mode\n";

    sleep 5;
}

可以我在那里看到了我的问题。我没有将读取过程放入循环中。谢谢你,伙计!你今天救了我一天。:)@利迪厄姆