The point OP made is that perls chmod does not work the same as chmod on their linux system. The linux chmod command assumes that missing digits are leading zeros, perls chmod does not operate in the same manner. The docuemtnation I suggested reading (and understanding) provides examples and an explanation that the number passed should be an octal number. Perhaps to fully understand this I should also have suggested that OP read man chmod to understand why it works the way it does. The docs also point to portability issues on certain platforms.
IMHO reading the documentation for each command provedes sufficent information to explain why they behave differently.