#!/usr/local/bin/perl -w use strict; my $class1 = shortTest->new('One'); my $class2 = shortTest->new('Two'); $class1->getName(); $class2->getName(); $class1->updateName(); $class1->getName(); $class2->getName(); package shortTest; use strict; 1; sub new { my $class = shift; my ( $name ) = @_; my $self = {}; bless $self, $class; $self->{name} = $name; *getName = \&showName; return $self; } sub showName { my $self = shift; print "$self->{name}:In 1st cut\n"; } sub updateName { my $self = shift; *getName = \&showName2; } sub showName2 { my $self = shift; print "$self->{name}:In 2nd cut\n"; }