#!/usr/bin/perl use warnings; use strict; my $test = 'test'; my %hash = ( t => \$test); # Store the reference. print join "\t", 'Before', ${ $hash{t} }, $test, $hash{t}, "\n"; my $change = 'changed'; ${ $hash{t} } = $change; # Change the value. print join "\t", 'After', ${ $hash{t} }, $test, $hash{t}, "\n"; __END__ Output: Before test test SCALAR(0x600078238) After changed changed SCALAR(0x600078238)