#!/bin/perl -l use warnings; use strict; package Bar; sub new { print STDERR "Bar'ed"; my $class = shift; my $self = {}; bless $self, $class; } package Foo; use base qw/Bar/; sub new { print STDERR "Foo'ed"; my $class = shift; my $self = $class->SUPER::new(@_); bless $self, $class; return $self; } my $foo = Foo->new; print ref($foo); # gives "Foo"