privateでfinalなメソッドの定義

 my $_PRIVATE_METHOD = sub {
     my $self = shift;
     print 'hoge';
 };
 
 sub public_method {
     my $self = shift;
     $self->$_PRIVATE_METHOD();
 }
  • 外部からアクセスされたくない
  • オーバーライドされたくない

そんな場合のみ使用するのもありかと思います。
Perlっぽく行くならmyじゃなくてourで宣言しといて抜け道を用意するのもありですな。
あとで$_PRIVATE_METHODの単体テストやりたいとかになった場合にできるし。

・・・実際はあまりこんな使い方はしないけど。