#!/usr/bin/perl use Data::Dumper; my $hash = { a => { ab => { ac => 'fred' }, abb => 'barney' }, b => 'betty', c => { cb => 'dino' }, }; my $r = $hash; my @k = qw( a ab ); print Dumper( $hash ); $r = $r->{$_} foreach @k; $r->{ 'ac' } = 'Mr. Slate'; print Dumper( $hash );