Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想推送对哈希的引用。我的意思是我想推送一个对新哈希的引用,它是我给定的哈希的浅拷贝。
如何创建浅拷贝?
只需复制它:
my %copy = %$hash;
如果你想要另一个引用,只需在匿名哈希构造函数中展开原始引用:
my $copy = { %$hash };
对于那些想知道浅拷贝的人:这种分配只会为顶级键生成新值。任何引用的值在新哈希中仍然是相同的引用。也就是说,您可以在不更改原始哈希的情况下替换新哈希中的值。如果您只是更改值,例如将新项目推送到匿名数组值,则两个哈希都会获得更改,因为它们共享相同的引用。因此,浅拷贝通常不是您想要的。