my $returned = some_func($sent);
# ...
sub some_func
{
my $received = shift;
# ...
$value;
}
####
my $returned = Foo::Bar::some_func($sent);
# in Foo::Bar:
sub some_func
{
my $received = shift;
#...
$value;
}
####
my $returned = Foo::Bar->some_func($sent);
# in Foo::Bar (or any package that Foo::Bar derives from)
sub some_func
{
my $class_name = shift; # will be Foo::Bar, even if we aren't in that package right now
my $received = shift;
# ...
$value
}
####
my $returend = $obj->some_func($sent);
# in the package that $obj is blessed into, or any package it is derived from
sub some_func
{
my $self = shift;
my $received = shift;
#...
$value;
}