#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my $popCt = 4; my @whole_thing; for (1 .. $popCt) { my ( $c1, $c2 ) = makeArrays( $_ ); push @whole_thing, { chromasome1 => $c1, chromasome2 => $c2 }; } print Dumper(\@whole_thing); sub makeArrays { my ( $counter ) = @_; print "Enter 'lower upper' bounds for population $counter: "; my ($lower, $upper) = split " ", ; my $ranpop = int rand($upper - $lower + 1) + $lower; print $ranpop . "\n"; my $limiter = 50; my @arrA; my @arrB; while ($ranpop) { my $genea = int rand ($limiter); push(@arrA, $genea); my $geneb = int rand ($limiter); push(@arrB, $geneb); $ranpop--; } return \@arrA, \@arrB; }