#!/usr/bin/perl use warnings; use strict; { package Known; sub new { bless {}, shift } } { package NotOO; my $m1 = new Known (); my $m2 = new Unknown (); } { package OO; sub new { bless {}, shift } my $m1 = new Known (); my $m2 = new Unknown (); # Undefined subroutine &OO:Unknown called } { package Unknown; sub new { bless {}, shift } }