首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定的散列文件,转储到内存中,我能找到给定字段的行号吗?

给定的散列文件,转储到内存中,我能找到给定字段的行号吗?
EN

Stack Overflow用户
提问于 2014-04-10 19:00:55
回答 1查看 63关注 0票数 0

例如,我有一个perl数据文件,散列结构:

第1行:$VAR1 ={ 第2行: k1 => v1 第3行: k2 => { 第4行: k2.k1=>v2.v1 第5行:} ..。 N行:}; $VAR1

现在,通过读取散列文件,它将被转储到内存中,并且顶部的哈希引用是>>创建的。

我的$VAR1 = do $hash_file;

我在perl代码中看到的是内存中的散列。如果给$VAR1 1->{‘k1’},我如何得到“第2行”?

我认为没有一种可靠的方法可以用散列结构(或一般perl数据结构)映射行号。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-10 19:15:55

使用本机散列无法可靠地完成此操作。Perl不能保证散列的顺序。实际上,在Perl的某些版本中,每次运行程序时,哈希排序都会有所不同。也就是说,您可以为正在读取的文件编写自定义解析器,并以这种方式获取行号。当然,所有这些听起来都像是一个XY problem。也许你应该退后一步,解释一下你为什么要做这件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22996772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档