让我们假设我有两个哈希.其中一个包含一组数据,只需要保留显示在另一个哈希中的内容.
例如
my %hash1 = (
test1 => { inner1 => { more => "alpha", evenmore => "beta" } },
test2 => { inner2 => { more => "charlie", somethingelse => "delta" } },
test3 => { inner9999 => { ohlookmore => "golf", somethingelse => "foxtrot" } }
);
my %hash2 = (
major=> { test2 => "inner2",
test3 => "inner3" } );
Run Code Online (Sandbox Code Playgroud)
我想要做的是删除hash1中的整个subhash,如果它不作为hash2 {major}中的键/值存在,最好没有模块."innerX"中包含的信息无关紧要,只需要保持不变(除非删除子哈希然后它就会消失).
在上面的示例中,在执行此操作之后,hash1将如下所示:
my %hash1 = (
test2 => { inner2 => { more => "charlie", somethingelse …Run Code Online (Sandbox Code Playgroud)