package Cow; sub new { my ($this) = shift; my ($class) = ref($this) || $this; my ($meat) = {}; bless ($meat, $class); return $meat; } sub grind { my ($meat) = shift; bless ($meat, "Beef"); return $meat; } package main; my ($bessie) = new Cow(); grind $bessie;