foreach my $sheet (keys %{ $doc->{'_source'}{'sheets'} }) { foreach my $columns (@{ $doc->{'_source'}{'sheets'}{$sheet}{'forumle'} }) { foreach my $one (keys %{ $columns }) { $condition = $columns->{$one}{'formula'}; $return_value = function_to_change($condition); #Here I am changing my condition into required output $main_hash{"query"}{"constant_score"}{"filter"} = {$return_value}; #Adding some more data for that $columns->{$one}{'formula'} = \%main_hash #What to replace that in the original doc } } }