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.
In reply to Re: Please explain the pack function
by Corion
in thread Please explain the pack function
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |