请教,如何便利一个哈希表,能使其输出顺序和构造哈希时的顺序一致,谢谢

请教,如何便利一个哈希表,能使其输出顺序和构造哈希时的顺序一致,谢谢

请教,如何便利一个哈希表,能使其输出顺序和构造哈希时的顺序一致,谢谢
while (($key, $value) = each %hash)
  {
        print FOUT "$key = $value\n";
  }

发现读hash时是乱序的,谢谢
hash内部应该是无序存储的,我想应该很难实现。
楼上的你好,那我应该用什么结构来存储数据呢?我的每行数据有两个字段,A和B
行之间的顺序有意义,谢谢


QUOTE:
原帖由 hepower 于 2008-1-3 14:48 发表
楼上的你好,那我应该用什么结构来存储数据呢?我的每行数据有两个字段,A和B
行之间的顺序有意义,谢谢

hash里面再hash,或者数组里面再hash
前者把key写作1,2,3……,后者构造的时候用push就行了,索引直接就是1,2,3……
[
    { f1 => 'foo', f2 => 'bar' },
    { f1 => 'foo', f2 => 'bar' },
    { f1 => 'foo', f2 => 'bar' },
    { f1 => 'foo', f2 => 'bar' },
]
哦,多谢了,还有一个问题,函数参数可以传一个哈希表么?


QUOTE:
原帖由 hepower 于 2008-1-3 16:19 发表
哦,多谢了,还有一个问题,函数参数可以传一个哈希表么?

虽然说是可以的,不过可能无法得到你想要的效果
请用hash的引用来传递
不过可能无法得到你想要的效果 是什么意思,
请你能说详细一些么,谢谢