my %pop = ( 0 => {status => "0", interactions => [], statuscount => "0"}, 1 => {status => "0", interactions => [], statuscount => "0"}, #### $pair = int(rand($pop)); redo if $test{$element.'-'.$pair} or $test{$pair.'-'.$element} or $pair==$element; redo if $pair == (exists @{$pop{$element}{interactions}});