In object oriented abstractions you often model real things as Perl classes. Unfortunately, the Perl classes have uglier names than the real things do. For example, I might model a customer using a Foo::Customer class. It would be useful if the Foo::Customer class knew what I would call its associated real thing. UNIVERSAL::moniker enables classes to make a good guess at what they would be called in the real world. Foo::User->moniker eq "user"; my $a = Big::Scary::Animal->new; $c->moniker eq "animal"; my $o = Cephalopod::Octopus->new; $o->plural_moniker eq "octopuses";