Приветствую!
Подскажите знающие - второй день мучаюсь, ничего не пойму.
Есть perl версии:
This is perl 5, version 18, subversion 1 (v5.18.1) built for x86_64-linux-thread-multi
Также есть такой простой код:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;my %hash_cl = ( fields=>{ id=>853, id_link=>890 } );
my %hash_cl_slave = %hash_cl;
print Dumper(\%hash_cl);
print "\n";
print Dumper(\%hash_cl_slave);
print "\n";
$hash_cl_slave{"fields"}{"id"} = $hash_cl_slave{"fields"}{"id_link"};
print Dumper(\%hash_cl);
print "\n";
print Dumper(\%hash_cl_slave);
print "\n";
На выходе имею следующее:
$VAR1 = {
'fields' => {
'id_link' => 890,
'id' => 853
}
};
$VAR1 = {
'fields' => {
'id_link' => 890,
'id' => 853
}
};
$VAR1 = {
'fields' => {
'id_link' => 890,
'id' => 890
}
};
$VAR1 = {
'fields' => {
'id_link' => 890,
'id' => 890
}
};
Вопрос таков: почему также меняется значение хеша $hash_cl{"fields"}{"id"} ???
Почему ???
Такое впечатление, что я не скопировал хеш, а ссылку создал, но ведь это не так.