我正在尝试创建一个保留添加键的顺序的哈希。在this page的“创建哈希并保留添加顺序”部分下,它提供了一个修改哈希的片段,因此当您执行keys
时,它会按照您将它们插入到键中的顺序返回键。散列。
当我执行以下代码段时:
use strict;
our %foo;
use Tie::IxHash;
tie (%foo, Tie::IxHash);
失败了:
Bareword "Tie::IxHash" not allowed while "strict subs" in use at /nfs/pdx/home/rbroger1/tmp.pl line 4.
Execution of /nfs/pdx/home/rbroger1/tmp.pl aborted due to compilation errors.
如何在use strict
开启时让Tie :: IxHash工作?
dsolimano的示例有效。
use strict;
our %foo;
use Tie::IxHash;
tie (%foo, "Tie::IxHash");
$foo{c} = 3;
$foo{b} = 2;
$foo{a} = 1;
print keys(%foo);
打印:
cba
没有tie...Tie::IxHash
行
cab