in reply to Please explain the pack function

The output was not 1/2, but ½, and it also wasn't 1/4, but ¼.

Let's look at what the documentation for the pack function says:

Takes a LIST of values and converts it into a string using the rules given by the TEMPLATE.

So, the function takes a list of values (in our case, the number 171, or the number 172), and converts it into a string, according to our template. The template "i" says that pack is to take the values and pack them into integers in machine representation. Perl then returns the packed values as a string. If you look at the ASCII chart, you will find that at place 171, there is "½", at least for the character set you use. That's all there is to it.

If you want to read some more information on pack, see the perlpacktut tutorial on pack.

Replies are listed 'Best First'.
Re^2: Please explain the pack function
by Anonymous Monk on Apr 19, 2007 at 18:39 UTC
    Corion, Thanks a lot for your help.