给定的散列文件,转储到内存中,我可以找出给定字段的行号吗



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

第1行:$VAR1={

第2行:k1=>v1,

第3行:k2=>{

第4行:k2.k1=>v2.v1

第5行:}

第n:}行;

$VAR1

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

my$VAR1=do$hash_file;

我在perl代码中看到的是内存中的散列。如果给定$VAR1->{'k1'},我如何获得"第2行"?

我看不出有一种可靠的方法可以用散列结构(或者通用的perl数据结构)映射行号。

谢谢。

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

相关内容

  • 没有找到相关文章

最新更新