【发布时间】:2015-11-02 20:52:35
【问题描述】:
我有一个 .pm 文件,其中有一个类似这样的数据结构:
my $var = {
"xyz" => {
"pqr" => {
"all" => "123",
},
},
"abc" => {
"zzz" => {
"f" => "foo1",
"n" => "foo2",
"g" => "foo3",
},
},
};
sub getDataStructure() {
return $var;
}
这种getDataStructure 方法被我系统上的各种程序广泛使用。
我想要的是有一个脚本可以将更多条目写入$var。让我们假设这些值是用户输入。
我逐行读取文件,一直读到$var 中的};,现在我想返回一行并使用print FH $newContent,其中FH 是我的文件句柄。
我该怎么做?我尝试使用 seek 函数,但找不到正确的方法
请注意:这个问题不是关于如何将 Perl 哈希写入文件。这是关于一些技巧,它可以修改现有的 .pm 文件并将一些新值写入我提到的数据结构中。
【问题讨论】:
-
我建议您使用 JSON 格式并将哈希序列化为文件。见How to convert a simple hash to json in Perl?
-
另外,你知道这是一个非常糟糕的主意,对吧?
-
这是个坏主意,也许你应该谈谈你想用它解决的问题。我们也许可以想出更好的东西。
-
你的意思是你的脚本只能访问自己,而不能访问文件系统的其余部分或数据库?
标签: perl