sub option { my ($self, $key, $value) = @_; return defined $value ? $self->{options}->{$key} = $value : $self->{options}->{$key}; } #### @hash{ map $array[$_], grep !($_ & 1), 0 .. $#array } = map $array[$_], grep $_ & 1, 0 .. $#array; #### sub merge_hash { my ($hash, $array) = @_; @$hash{ map $array->[$_], grep !($_ & 1), 0 .. $#{$array} } = map $array->[$_], grep $_ & 1, 0 .. $#{$array}; } #### sub merge_hash (\%\@) { ## rest unchanged }