use strict; use warnings; use Set::Array; use Data::Dumper; my %HoA = ( 'Fruits' => [ 'Apple', 'Orange', 'Banana', 'Grapes', ], 'Fruits1' => [ 'Apples', 'Orange', 'pineapple', 'Grapes', ] ); my $set1 = Set::Array->new(@{$HoA{Fruits1}}); my $set = Set::Array->new(@{$HoA{Fruits }}); $HoA{difference} = [Set::Array::difference($set1, $set, 0)]; print Dumper(\%HoA); OUTPUT: $VAR1 = { 'Fruits1' => [ 'Apples', 'Orange', 'pineapple', 'Grapes' ], 'Fruits' => [ 'Apple', 'Orange', 'Banana', 'Grapes' ], 'difference' => [ 'pineapple', 'Apples' ] };