

pack trabaja de forma parecida a sprintf.
Su primer argumento es una cadena, seguida de una lista de valores
a formatear y devuelve una cadena:
pack("CCC", 65, 66, 67, 68) # empaquetamos A B C D
el inverso es el operador unpack
unpack("CCC", "ABCD")
La cadena de formato es una lista de especificadores que indican el
tipo del dato que se va a empaquetar/desempaquetar. Cada especificador
puede opcionalmente seguirse de un contador de repetición
que indica el número de elementos a formatear. Si se pone un
asterisco (*) se indica que la especificación
se aplica a todos los elementos restantes de la lista.
| Formato | Descripción | |
| A | Una cadena completada con blancos | |
| a | Una cadena completada con ceros | |
| B | Una cadena binaria en orden descendente | |
| b | Una cadena binaria en orden ascendente | |
| H | Una cadena hexadecimal, los nibble altos primero | |
| h | Una cadena hexadecimal, los nibble bajos primero |
Ejemplo de uso del formato A:
DB<1> $a = pack "A2A3", "Pea","rl" DB<2> p $a Perl DB<3> @b = unpack "A2A3", "Perl" DB<4> p "@b" Pe rlLa variable
@b tiene ahora dos cadenas. Una es Pe la otra es rl.
Veamos un ejemplo con el formato B:
p ord('A')
65
DB<22> $x = pack "B8", "01000001"
DB<23> p $x
A
DB<24> @y = unpack "B8", "A"
DB<25> p "@y"
01000001
DB<26> $x = pack "b8", "10000010"
DB<27> p $x

