On the left is either a package name, or a reference that has been blessed into a package. On the right is the name of a subroutine within that package. Arguments are placed in parentheses following the method name. The indirect syntax is modeled after the syntax of Perl's own print statement. First comes the method name, followed by either a package name or a blessed reference.
Arguments follow the package name.
There is no comma between the package name and the first argument. The semantics are exactly the same. There is a semantic distinction between class methods and instance methods. In contrast, a class method is called on the class itself, and not on any particular object. In the abstract, this sounds confusing, but it follows almost immediately from the way objects are created and used.