#!/usr/bin/perl use strict; use warnings; my $foo = Foo->new; $foo->bar; sub foobar { foo => -bar } package Foo; sub new { bless {} } sub bar { my( $package ) = caller(); no strict 'refs'; print &{$package.'::foobar'}(); } # bar