Я хочу написать Perl-скрипт для разбора текстовых файлов с большим количеством 64-битных целых. Все целые числа записаны в шестнадцатеричном виде.
Мне нужно
- Чтение гекса из ввода
- Сравните 64-битные значения (
<
, =
, >
)
- Вычитать 64-битные целые числа
- Вывод 64-битных гексов
Мне нужно использовать 32-битный Perl, и я не могу использовать какой-либо CPAN / внешний модуль (скрипт должен быть переносимым).
PS мой perl 5.8 (и это минимальная версия, которая будет использоваться для скрипта)
Ошибки PPS Bignum / Bigint:
$ perl -e 'use bignum; $_=hex("0x0000123412345678")'
Integer overflow in hexadecimal number at -e line 1.
$ perl -e 'use bigint; $_=hex("0x0000123412345678")'
Integer overflow in hexadecimal number at -e line 1.
PPPS: нет from_hex
здесь.
$ perl -e 'use Math::BigInt; $_=Math::BigInt->from_hex("0x0000123412345678");'
Can't locate object method "from_hex" via package "Math::BigInt" at -e line 1.
и нет qw/hex/
:
$ perl -e 'use bigint qw/hex/; $_=hex("0x0000123412345678")'
unknown option hex at /usr/lib/perl5/5.8/bigint.pm line...
PPPPS: но new () работает:
$ perl -e 'use Math::BigInt; $_=Math::BigInt->new("0x0000123412345678"); print $_->as_hex(),"\n";'
0x123412345678