The convention you're referring to is suggested for the naming of private attributes
, not the objects themselves. This is, as you've alluded to, to designate that these shouldn't be accessed directly by the caller; rather, they should be manipulated indirectly through the available public methods.
However, you're actually inquiring as to the naming convention for the object
itself, not the attributes used to describe or the methods used to access it. Based on my experience, there is no formal convention... just common sense. An object name should reflect the object itself... perhaps a combination of it's relevance to the class and it's uniqueness (compared to other similar objects). Examples:
my $cgi = CGI->new;
my $template-adduser = HTML::Template->new(filename => 'new_user_form.
my $template-deluser = HTML::Template->new(filename => 'del_user_form.
As always... UYBJ! (Use Your Best Judgment)