#original call my @array_of_hashes = get_array_of_hashes($value1, $value2); my %probe_name = $array_of_hashes[0]; my %probe_start = $array_of_hashes[1]; my %probe_stop = $array_of_hashes[2]; my %probe_chromo = $array_of_hashes[3]; my %probe_seq = $array_of_hashes[4]; #method sub get_array_of_hashes($$) { my ($value1,$value2) = @_; my %hash_one; my %hash_two; my %hash_three; my %hash_four; my %hash_five; ## DO SOME STUFF HERE TO GET EXTRA DATA in a loop { $hash_one{$some_value} = $some_other_value; $hash_two{$some_value} = $some_other_value; $hash_three{$some_value} = $some_other_value; $hash_four{$some_value} = $some_other_valuee; $hash_five{$some_value} = $some_other_value; } push(@array_of_hashes, %hash_one); push(@array_of_hashes, %hash_two); push(@array_of_hashes, %hash_three); push(@array_of_hashes, %hash_four); push(@array_of_hashes, %hash_five); return @array_of_hashes; } #### Reference found where even-sized list expected