sub new { my($proto, $fields) = @_; my($class) = ref $proto || $proto; my $self = bless [], $class; ...