use warnings; use strict; use feature 'refaliasing'; use Data::Dump; use Tie::Subset::Hash; my %hash; @hash{"a".."e"} = 41..45; dd \%hash; tie my %hash2, 'Tie::Subset::Hash', \%hash, ['b']; \%hash = \%hash2; dd \%hash; __END__ Aliasing via reference is experimental at foo.pl line 13. { a => 41, b => 42, c => 43, d => 44, e => 45 } { # tied Tie::Subset::Hash b => 42, }