There's no difference in declaring a method and a subroutine. The only difference is how you call methods and what arguments they get.
sub some_function
{
my ($first, $second) = @_;
...
}
sub some_method
{
my ($self, $first, $second) = @_;
...
}
You need to call a method with a class name or an object:
SomeClass->some_method( $first, $second );
$some_object->some_method( $first, $second );
To create an object, call a constructor (a method called with a class name). A constructor uses the bless operator to associate a reference with a class name:
package SomeClass;
sub new
{
my $class = shift;
bless {}, $class;
}
...
my $some_object = SomeClass->new();
|