#!/usr/bin/perl use strict; use warnings; package aaa; { our @ISA = 'bbb'; sub new { return bless {}, shift; } } package bbb; { our @ISA = 'aaa'; sub new { return bless {}, shift; } } package main; my $obj = bbb->new;