#!/usr/bin/perl -w use Data::Dumper; my $hashtest; $hashtest->{'abc'}->{'filename'} = 'fred'; $hashtest->{'def'}->{'filename'} = 'harry'; foreach $v (values (%{$hashtest})) { $testhash->{$v->{'filename'}} = 1; } print Dumper($testhash);