2
Я не эксперт по Perl, так что это, вероятно, простой вопрос.Как использовать Perl Storable, изменяя значение хэша
Я использую Storable и следую this example, чтобы сохранить хэш. Во-первых, я храню оригинальный хэш.
use Storable qw(store retrieve freeze thaw dclone);
%color = ('Blue' => 1, 'Red' => 0.8, 'Black' => 0, 'White' => 1);
store(\%color, 'mycolors');
Затем я извлекаю его. (другой сценарий)
use Storable qw(store retrieve freeze thaw dclone);
$colref = retrieve('mycolors');
printf "Blue is still %lf\n", $colref->{'Blue'};
Вопрос: как изменить одно из значений хеширования? Например, сделайте что-нибудь вроде
$colref->{'Blue'} = 2;
store(\%color, 'mycolors');
во втором скрипте.
Что произошло, когда вы пробовали? – geekosaur
@geekosaur Всякий раз, когда я читаю его, синий (и все остальные цвета) был теперь 0. Я думаю, что имеет смысл - цвет% не определен в скрипте чтения, но я не знаю, как мне его потянуть от 'mycolors' – varatis
У вас есть правильная идея; рассмотрите то, что у вас уже есть, по сравнению с тем, что вы хотите передать в 'store'. – geekosaur