Perl Hash Reference Partial Copy
                    
                    
                
            Given a multi-level deep hash reference:
my $conf = {
    bucket => {
        list => {
            h    => 'help me',
            _sub => sub { say "something" }
        }
    },
    file => {
        upload => {
            h    => 'help me too',
            _sub => sub { say "else" }
        }
    }
};
We want to remove all of the _sub keys and put them in a separate hash reference with the same structure. This does that:
my $sub = {
    map {
        my $k = $_;
        $k => {
            map { $_ => delete $conf->{$k}->{$_}->{_sub} }
            keys %{ $conf->{$k} }
        }
    } keys %$conf
};
                    
                    Last modified on 2015-03-28