The convention you're referring to is suggested for the naming of private attributes and methods, 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.
in reply to Naming convention for Object Variables
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:
As always... UYBJ! (Use Your Best Judgment)
my $cgi = CGI->new;
my $template-adduser = HTML::Template->new(filename => 'new_user_form.
my $template-deluser = HTML::Template->new(filename => 'del_user_form.