gpt4 book ai didi

来自文本文件的 Perl 哈希

转载 作者:行者123 更新时间:2023-12-05 01:47:55 29 4
gpt4 key购买 nike

我是 Perl 的新手,正在尝试从文本文件创建散列。我有一个代码外部的文本文件,旨在供其他人编辑。前提是他们应该熟悉 Perl 并且知道在哪里编辑。文本文件本质上包含几个散列的散列,具有正确的语法、缩进等,就像普通的 Perl 代码一样。键和值会有所不同,但所有哈希的哈希值都将具有相同的深度。

问题:如何将此文件读入我的代码并能够使用这些哈希值?

在学习过程中,我尝试了“打开(文件)”,然后是“while”,但是将每一行都放入@rray 中并不会保留哈希值。或者我是否必须使用每一行在我的代码中创建我的多个散列?

感谢任何帮助。

最佳答案

这真的很简单:

 my $nested_hash = do "your_file.txt";

因此,如果 your_file.txt 包含如下内容:

{
a => 1,
b => [1,2,3],
c => {
c1 => 42
c3 => {
c11 => 21
}
}
}

然后 $nested_hash 可以像这样使用:

$nested_hash->{a}   # equals 1
$nested_hash->{b} # the array reference [1,2,3]

$nested_hash->{c}->{c1} # equals 42

您的外部文本文件中也可以有多个数据结构;只需将它们定义为由 , 分隔的列表。

your_file.txt 中:

{
a => 1,
b => [1,2,3],
},
{
c => 3,
d => 4,
}

然后你从你的脚本中读取它们,你使用一个列表上下文:

my @nested_hashes = do "your_file.txt";

所以

$nested_hashes[0]->{a}  # gives you 1
$nested_hashes[1]->{c} # gives you 3

关于来自文本文件的 Perl 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20112957/

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