Я пытаюсь создать хеш, который сохраняет порядок добавления ключей. В разделе «Создание хэша и сохранение порядка добавления» этой страницы он предоставляет фрагмент, который изменяет хэш, поэтому при выполнении 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.
Как мне заставить Tie :: IxHash работать, когда use strict
включен?
Пример 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