my %test;
my @predetermined;
my @results;
@predetermined = (0..$pop-1);
for my $element (@predetermined)
{
my $pair;
{
$pair = int(rand($pop));
redo if $test{$element.'-'.$pair} or $test{$pair.'-'.$element} or $pair == $element;
}
$test{$element.','.$pair} = $test{$pair.','.$element} = 1;
push @ {$pop{$element{interactions}}}, $pair;
push @results, $element.'-'.$pair;
foreach (@results)
{
($element.','.$pair) = split;
$element{$_} = $element;
}
}
sort {$a <=> $b} @results;
say for (@results);
####
push @ {$pop{$element{interactions}}}, $pair;
####
my %pop = (
0 => {status => "0", interactions => []},
1 => {status => "0", interactions => []},