Much of the strangeness that choroba describes has nothing to do with unpack. Unpack requires a string input. Your input is a number. When perl needs a number in the form of a string, it converts it much the way print would. Your "V" tells unpack to process the first four characters of that string. I suspect that your original programmer meant to use pack rather than unpack.