Как в perl-е сделать hex из dec?

solteron

Или свою функцию писать надо?

valy37

$hex = sprintf("0x%x", $dec);

solteron

Спасибо. Действительно, я забыл, что в перле работает сишный sprintf

eduard615

perldoc -f pack
perldoc -f unpack
Уж если пишем на перле, то на перле, а не на сях

solteron

Тож хорошо
Но первый вариант для простых вещей лаконичнее.
Я перл использую в первую очередь как очень удобное и интуитивное расширение шелла.
Рекомендую всем, знание этого языка даже на самом примитивном уровне (как у меня ) существенно упрощает работу.

valy37

А как через pack? Я его для бин. данных использовал, а для hex как-то не получилось.

solteron

Что-то типа этого:
$hex=unpack("H*", pack("N*", $dec;

valy37

Так я и думал, за один вызов никак...

eduard615

Ровно также, как для бин:
unpack "H8" , pack "N" , $str ;

опередили

zsn66

> Уж если пишем на перле, то на перле, а не на сях
Т.е. встроенные функции перла имеют разную степень кошерности?
Я-то думал, что выбирать надо такой способ, чтобы было меньше писать и труднее читать
Оставить комментарий
Имя или ник:
Комментарий: