sub get { my ($self, $property) = @_; if ($#_ == 0) { return map {$_, $self->{'properties'}->{$_}} $self->properties; } # if $property is an array, return all values if ( ref $property eq 'ARRAY') { my %retHash = (); grep {$retHash{$_} = $self->{'properties'}->{$_}} @$property; return \%retHash; } return $self->{'properties'}->{$property}; }