#!/usr/bin/perl -w use strict; package Parent; sub new { bless({}, $_[0]); } package Child; @Child::ISA = qw( Parent ); sub child_only {} package main; print "new exists in Child\n" if in_kid('Child', 'new'); print "new exists in Parent\n" if in_kid('Parent', 'new'); print "child_only exists in Child\n" if in_kid('Child', 'child_only'); print "child_only exists in Parent\n" if in_kid('child_only', 'new'); sub in_kid { my $class = shift; my $sub = shift; no strict 'refs'; return defined &{$class . '::' . $sub}; }