a A string with arbitrary binary data, will be null padded. A A text (ASCII) string, will be space padded. Z A null-terminated (ASCIZ) string, will be null padded. C An unsigned char (octet) value. #### use Data::Dump; my $data = "\x01\x02\x03\x20\x00"; dd unpack 'C*', $data; # prints (1, 2, 3, 32, 0) dd unpack 'a*', $data; # prints "\1\2\3 \0" dd unpack 'A*', $data; # prints "\1\2\3" dd unpack 'Z*', $data; # prints "\1\2\3 " dd unpack 'Z*', $data."X "; # prints "\1\2\3 " dd unpack 'A*', $data."X "; # prints "\1\2\3 \0X" dd unpack 'a*', $data."X "; # prints "\1\2\3 \0X "