in reply to Re^4: Objects and references
in thread Objects and references

package Foo; sub new { my $class = shift; return bless {}, $class; } package Foo::Bar; use base 'Foo'; package main; use Foo::Bar; my $foobar = Foo::Bar->new;
Because there isn't a new() method in the Foo::Bar class, it will use the new() method in its parent class, which is Foo. Because Foo's new() method uses the $class that was passed into new() (which is Foo::Bar), it will DWIM.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?