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. #### print length pack '(A2)*', 'fr','ed','x';; 6 print unpack 'C*', pack '(A2)*', 'fr','ed','x';; 102 114 101 100 120 32 print length pack '(a2)*', 'fr','ed','x';; 6 print unpack 'C*', pack '(a2)*', 'fr','ed','x';; 102 114 101 100 120 0 print length pack '(Z2)*', 'fr','ed','x';; 6 print unpack 'C*', pack '(Z2)*', 'fr','ed','x';; 102 0 101 0 120 0 ## Note! the 'r' & 'd' characters have been thrown away? Another bug? #### printf "'%s'\n", join"'", unpack '(A2)*', 'fredx';; 'fr'ed'x' printf "'%s'\n", join"'", unpack '(a2)*', 'fredx';; 'fr'ed'x' printf "'%s'\n", join"'", unpack '(Z2)*', 'fredx';; 'fr'ed'x'