型グロブとシンボリックリファレンスを使ってメソッドを動的に定義するというケースって結構あります。 例えばアクセサメソッドを提供するmk_accessorというのを作りたいとします。 package Hoge; use strict; sub mk_accessor { my $class = shift; my $accessor = shift; no strict 'refs'; *{"${class}::$accessor"} = sub { my $self = shift; $self->{$accessor} = shift if @_; return $self->{$accessor}; }; } sub new { my $class = shift; return bless {} , ref $class || $class; } Hoge->mk_accessor(