Do you mean these four lines belonged to Foo are calling class method instead of object method? Therefore no object is created by them, right?
However, if I call this line:__PACKAGE__->hello('test1'); Foo->hello('test2'); hello(__PACKAGE__, 'text3'); hello('Foo', 'text4');
one object will be created. Am I right so far?Foo->new()->hello('test5');