Да, но было бы хорошо узнать, для чего это нужно.
Если вы создаете структуру данных для связи с каким-либо другим приложением в двоичном формате, лучше всего выбрать pack - правильная комбинация форматов позволит вам работать практически с любым типом в собственном или специально определенном размере, и он обрабатывает такие вещи, как выравнивание структуры, строки с префиксом длины и TLV.
Для других целей, возможно, вам лучше поискать в Config . Там есть переменные для размеров различных типов, включая intsize
, longsize
, ptrsize
, doublesize
, longlongsize
(если установлено d_longlong
), longdblsize
(если d_longdbl
set), ivtype
/ ivsize
, nvtype
/ nvsize
(для внутренних числовых типов Perl) и byteorder
(чтобы вы могли определить порядковый номер).