Schlagwörter

,


my $hashref = {data => "Dogs"};
my $hashref_copy = $hashref;
$hashref_copy->{data} = "Cats";

print $hashref->{data}.“\n“;
# print „Cats“,
# because hashref_copy is pointing
# to the same element

# cloning in perl
my $hashref_clone = { %$hashref }; # a reference to a derefernced object
$hashref->{data} = „Fish“;
print $hashref_clone->{data}.“\n“;
# print „Cats“, not Fish,
# because hashref_clone is pointing to a new object

Da %$ das Objekt dereferenziert und {} wieder eine Referenz zurückgibt wird eine Referenz auf ein neues Objekt erstellt.