6

Perl 默认没有 struct 的概念。我们需要导入结构类。我想知道为什么会这样?该语言提供的基本数据结构的哪种组合应该可以弥补这一点?

4

4 回答 4

13

哈希在 Perl 中的作用与在 C 中的结构几乎相同(就您使用它们的目的而言)。您还可以嵌套散列以构建更复杂的数据结构。

于 2012-06-25T08:38:05.817 回答
4

如果您有现有的带有结构的 C 头文件,请使用Convert::Binary::C来访问基于它们的数据结构。

于 2012-06-25T09:50:04.017 回答
2

Class::Struct 对我来说永远不适合 C 结构的角色。在我看来,C 结构是一种组织数据的已知内存结构,但对我来说最好的用途始终是将固定长度的输入记录自动解析为字段,只需将它们写入结构即可。

你可以用 unpack 做类似的事情。它仍然需要一个单独的解析调用 C 不需要,但如果你将它构建到你的记录读取中,它会非常有效。

于 2013-05-14T01:16:44.400 回答
0

你可以试试这个模块作为结构的替代品 - Class::Struct

于 2012-06-25T08:38:52.307 回答