Как я сравниваю упакованные значения в Perl?

Я хочу использовать пакет () функция в Perl для кодирования некоторых данных. Затем я хочу сравнить свою упакованную структуру с другой упакованной структурой. Я хочу, это выдерживает сравнение, чтобы быть на значениях байта этой упакованной структуры.

Согласно документации, cmp использует текущую локаль, чтобы определить, как сравнить строки. Но я не хочу аналитики, относился к сравнению. Я хочу то, что является самым близким к memcmp (). Очевидно, я не могу использовать <=> для сравнения моих упакованных объектов, поскольку они не числа.

Что лучший способ состоит в том, чтобы сравнить упакованные строки в Perl?

Заметка на полях: Я читал эту статью об эффективной сортировке в Perl, который отмечает, что простая функция вида использует подобный memcmp алгоритм для сравнения структур. Я задаюсь вопросом, как достигнуть такого сравнения, не имея необходимость использовать вид.

6
задан runrig 20 July 2010 в 15:42
поделиться