0

这是下面的 config.pm 文件。

$AHost = '10.226.33.233';
$APort = '33002';
$ADBUser = "enacct";
$ADBPassword = "enacct";

我使用 sysread 在 some.pl 文件中读取此文件,并将整个文件数据作为字符串获取(修改后我们将整个字符串作为参数传递给写入。它会将其写回文件)。

假设我想将 $AHost 的值替换为“10.226.33.234”并将 $ADBUser 替换为“pwd”;。我们该怎么做?

我的意思是我们应该替换检索到的字符串中相应的更改值,并通过发回这个更新的字符串,我们可以将数据正确地写回文件中。

如何在这种情况下更新字符串?

谢谢,

4

1 回答 1

0

1:您可以使用 Getopt::Euclid 将默认配置值存储在脚本中,它可以让您从命令行覆盖其中的任何一个。它也是自我记录的。

2:使用 YAML 存储配置数据,你可以使用 YAML::Tiny 来读取它

例子:

file.yaml (there should be an empty line at the end of the file!)

    ---
    AHost: blah
    APort: bah



    use YAML::Tiny;

    # Create a YAML file
    my $yaml = YAML::Tiny->new;

    # Open the config
    $yaml = YAML::Tiny->read( 'file.yml' );

    # Reading properties
    my $AHost = $yaml->[0]->{AHost};
于 2013-02-12T08:40:20.750 回答