my $groups=[ [ \'DLKTYVR', \'ALPTMVA', \'VLNGYVD', \'QSGTYVP', \'RLHTEAR' ], [ \'SSMPWDH', \'SSNPIYV' ], [ \'RMTMLPN' ], [ \'GWMTEHA', \'NHSTRHA', \'GYCTVRA', \'GDRVEEA' ] ]; # my @reduced = map { ${ $_->[0] } } @$groups; my $unrefed = [ map { [ map { ${ $_}} @$_ ] } @$groups] ; use Data::Dumper; print Dumper $groups; print Dumper $unrefed; my @group1=@{$unrefed ->[1]}; print Dumper \@group1; my $value=$unrefed->[1][1]; print Dumper $value;