Linux 在Perl中更改INI文件中的参数

Linux 在Perl中更改INI文件中的参数,linux,perl,ubuntu,parameters,cgi,Linux,Perl,Ubuntu,Parameters,Cgi,我有个问题。INI文件中的参数是否可以更改?我知道这个值是可以改变的。但我想知道参数是否也可以更改,而不是值。例如,我向您展示了INI文件 [section 1] parameter1 = value1 parameter2 = value2 是否有任何perl模块或任何东西可以更改参数1和参数2而不是更改值,并保持值1和值2不变。如果我们想读取值,只需使用以下权限: my $file = "file directory"; my $Config = Config::Tiny->read

我有个问题。INI文件中的参数是否可以更改?我知道这个值是可以改变的。但我想知道参数是否也可以更改,而不是值。例如,我向您展示了INI文件

[section 1]
parameter1 = value1
parameter2 = value2
是否有任何perl模块或任何东西可以更改参数1参数2而不是更改值,并保持值1值2不变。如果我们想读取值,只需使用以下权限:

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

my $read = $Config->{"section 1"}->{"parameter1"};
但是如何仅更改参数1参数2

这能做到吗?我的意思是使用perl编程。如果是的话,谁能给我举个例子说明如何做到这一点。不过这是我的任务。提前感谢。

这是一个非常简单的使用方法,但无法直接重命名值-您必须使用新名称将值复制到项目中,然后删除旧名称

这个简短的Perl程序演示了。它将
parameter1
更改为
newparam1
parameter2
更改为
newparam2
。新配置将写入另一个文件以便于测试,但您可能希望覆盖原始文件

use strict;
use warnings;

use Config::Tiny;

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

#print $cfg->{'section 1'}{parameter1};

my $section1 = $cfg->{'section 1'};

$section1->{newparam1} = $section1->{parameter1};
delete $section1->{parameter1};

$section1->{newparam2} = $section1->{parameter2};
delete $section1->{parameter2};

$cfg->write('newfile.cfg');
输出

[section 1]
newparam1=value1
newparam2=value2
这是非常简单的使用,但没有办法直接重命名一个值-您必须将该值复制到具有新名称的项,然后删除旧名称

这个简短的Perl程序演示了。它将
parameter1
更改为
newparam1
parameter2
更改为
newparam2
。新配置将写入另一个文件以便于测试,但您可能希望覆盖原始文件

use strict;
use warnings;

use Config::Tiny;

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

#print $cfg->{'section 1'}{parameter1};

my $section1 = $cfg->{'section 1'};

$section1->{newparam1} = $section1->{parameter1};
delete $section1->{parameter1};

$section1->{newparam2} = $section1->{parameter2};
delete $section1->{parameter2};

$cfg->write('newfile.cfg');
输出

[section 1]
newparam1=value1
newparam2=value2
这是非常简单的使用,但没有办法直接重命名一个值-您必须将该值复制到具有新名称的项,然后删除旧名称

这个简短的Perl程序演示了。它将
parameter1
更改为
newparam1
parameter2
更改为
newparam2
。新配置将写入另一个文件以便于测试,但您可能希望覆盖原始文件

use strict;
use warnings;

use Config::Tiny;

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

#print $cfg->{'section 1'}{parameter1};

my $section1 = $cfg->{'section 1'};

$section1->{newparam1} = $section1->{parameter1};
delete $section1->{parameter1};

$section1->{newparam2} = $section1->{parameter2};
delete $section1->{parameter2};

$cfg->write('newfile.cfg');
输出

[section 1]
newparam1=value1
newparam2=value2
这是非常简单的使用,但没有办法直接重命名一个值-您必须将该值复制到具有新名称的项,然后删除旧名称

这个简短的Perl程序演示了。它将
parameter1
更改为
newparam1
parameter2
更改为
newparam2
。新配置将写入另一个文件以便于测试,但您可能希望覆盖原始文件

use strict;
use warnings;

use Config::Tiny;

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

#print $cfg->{'section 1'}{parameter1};

my $section1 = $cfg->{'section 1'};

$section1->{newparam1} = $section1->{parameter1};
delete $section1->{parameter1};

$section1->{newparam2} = $section1->{parameter2};
delete $section1->{parameter2};

$cfg->write('newfile.cfg');
输出

[section 1]
newparam1=value1
newparam2=value2

哇!谢谢你,伙计。这让我省去了很多麻烦@Borodin@user3463422小提示:我可能会
delete
并在同一行中指定,以更快地传达您的意图:
$section1->{newparam1}=delete$section1->{parameter1}
@Miller:我也是,但对于不太熟悉Perl的人来说,我更喜欢清晰而不是简洁。哇!谢谢你,伙计。这让我省去了很多麻烦@Borodin@user3463422小提示:我可能会
delete
并在同一行中指定,以更快地传达您的意图:
$section1->{newparam1}=delete$section1->{parameter1}
@Miller:我也是,但对于不太熟悉Perl的人来说,我更喜欢清晰而不是简洁。哇!谢谢你,伙计。这让我省去了很多麻烦@Borodin@user3463422小提示:我可能会
delete
并在同一行中指定,以更快地传达您的意图:
$section1->{newparam1}=delete$section1->{parameter1}
@Miller:我也是,但对于不太熟悉Perl的人来说,我更喜欢清晰而不是简洁。哇!谢谢你,伙计。这让我省去了很多麻烦@Borodin@user3463422小提示:我可能会
delete
并在同一行中指定,以更快地传达您的意图:
$section1->{newparam1}=delete$section1->{parameter1}
@Miller:我也是,但对于不太熟悉Perl的人来说,我更喜欢清晰而不是简洁。