in reply to What does the SHIFT bit do in a constructor

Constructors are usually called like so:
$obj = Class->new(...); # or $obj = new Class ...;
Either way, assuming there's no funny inheritance to deal with, you're doing the equivalent of
$obj = Class::new('Class', ...);
The same goes for when you're doing object calls (like $obj->method(...) or method $obj ...). Thus, the class name (or object) is the first argument to the function.

japhy -- Perl and Regex Hacker