{ rest => $next_node, first => $data } #### sub value { my ($self) = @_; my @value = ($self->{first}, $self->{rest} ? $self->{rest}->value : ()); return @value; } #### sub value { my ($self) = @_; return ($self->{first}, $self->{rest} ? $self->{rest}->value : ()) } #### sub value { my ($self) = @_; return @{[$self->{first}, $self->{rest} ? $self->{rest}->value : ()]}; }