in reply to efficient getters in module (class)
Your get calls would then look like this:sub get_by_string { my ($this, $field, $property, $value) = @_; die "Invalid field $field" if (!exists $this->{$field}); return grep { $_->{$property} eq $value } @{$this->{$field}}; } sub get_by_number { my ($this, $field, $property, $value) = @_; die "Invalid field $field" if (!exists $this->{$field}); return grep { $_->{$property} == $value } @{$this->{$field}}; }
my @items = $obj->get_by_string('item','name',$name); my @users = $obj->get_by_number('user','id',$id);
|
|---|