I have being using Perl for a while but only recently had any need to start looking at OOP. I notice a couple of odd things that I hope someone could clear up?
What is the reason for the first argument that is passed to the routine in a class being the class name? Is this useful in certain ways?
Secondly, I noticed that if I export my functions, from the class, and then, in my calling script call it by its name (e.g &function("data") ) then the first argument isn't the class name. However, if I call it directly e.g MyDir::Class->function("data"), from the same script, then the first argument is the class name.
Is there good reasons why this is the case, or am I doing something really silly!?