#! /usr/bin/perl use strict; use warnings; use 5.010; package Foo; sub new { my $class = shift; my $self = {}; bless $self,ref($class)||$class; return $self; } sub foo { my $self = shift; say "I am foo() calling bar()."; $self->bar(); } sub bar { my $self = shift; say "I am bar()."; } package main; my $example = Foo->new(); $example->foo();