in reply to OO doesn't seem to play nice with multiple instances

I would suggest storing the name in the hash you are using as the object - like with a key such as '_name'. You can then change your methods like:

sub myNameIs{ my ($this,$name) = @_; die("Don't tell me that I don't have a name.") unless(defined($nam +e)); $this->{_name} = $name; } sub whoAmI{ my ($this ) = @_; return($this->{_name}); }
The way that you are using the $_name is like having a static variable in other languages.

/J\