Class::Accessor

よく

use base qw(Class::Accessor::Fast);
__PACKAGE__->accessors(@accessors);

ってみかけるけど、

package Accessor;
use base qw(Class::Accessor::Fast);

sub new {
  my ($class, $hash_ref) = @_;

  $class->mk_accessors( keys %{$hash_ref} );
  return $class->SUPER::new($hash_ref);
}

こんなクラス作って、これを継承させたら
ハッシュリファレンスつっこむだけでアクセサ付のオブジェクト作れるなあと思ったりした。

あんま使い道なさそうだけど。