こういうことなのかしらん? package Class::Accessor::Fluent; use strict; use warnings; use Sub::Install; our $VERSION = '0.01'; sub mk_fluent_accessors { my ($class, @names) = @_; foreach my $name ( @names ) { Sub::Install::install_sub({ code => sub { my $self = shift; $self = $self->new unless ref $self; if ( @_ && @_ == 1 ) { $self->{$name} = shift; } elsif ( @_ ) { $self->{$name} = [@_]; } else { return $sel