Xyzzy::say_it; # Calls sub say_it in package Xyzzy with an empty parameter list Xyzzy->say_it; # Calls sub say_it in package Xyzzy with the parameters ('Xyzzy') my $obj = Some::Class->new(foo => 'bar'); # Calls sub new in package Some::Class with the parameters # ('Some::Class', 'foo', 'bar') # # By convention, 'new' will bless its return value into the class # (package) matching its first parameter ('Some::Class'), making # $obj an instance of that class $obj->do_stuff(1, 2, 3); # Because $obj is blessed as an instance of Some::Class, calls # Some::Class::do_stuff with the parameters ($obj, 1, 2, 3)