默认情况下,Perl没有struct的概念。我们需要导入Struct类。我想知道为什么会这样?语言提供的基本数据结构的哪些组合可以弥补这一点?
答案 0 :(得分:12)
哈希在Perl中的结构与C中的结构完全相同(就你使用它们而言)。您还可以nest hashes构建更复杂的数据结构。
答案 1 :(得分:4)
如果您有包含结构的现有C头文件,请使用Convert::Binary::C根据它们访问数据结构。
答案 2 :(得分:2)
Class :: Struct永远不适合我的C结构角色。在我看来,C结构是一种组织数据的已知内存结构,但对我来说最好的用法是将固定长度的输入记录自动解析到字段中,只需将它们写入结构即可。
你可以用unpack做类似的事情。它仍然需要单独的解析调用C不会,但是如果你将它构建到你的记录读取中,它就非常有效。
答案 3 :(得分:0)
您可以尝试使用此模块作为结构的替代 - Class::Struct