#!/usr/bin/perl -w use strict; my %test1; my %test2; my $k; (%test1,%test2) = &testsub; foreach $k (sort keys %test1) { print " test1 $k $test1{$k}{'type'} $test1{$k}{'value1'}$test1{$k}{'value1'} \n"; } foreach $k (sort keys %test2) { print " test1 $k $test2{$k}{'type'} $test2{$k}{'value1'}$test2{$k}{'value1'} \n"; } sub testsub { my $hasrows=0; my %test1; my %test2; while ($hasrows < 5) { $test1{$hasrows} = { 'type' => "type-test-$1hasrows", 'value1' => "value1-test1-$hasrows", 'value2' => "value2-test1-$hasrows" }; $hasrows +=1; } $hasrows=0; while ($hasrows < 8) { $test2{$hasrows} = { 'type' => "type-test2-$hasrows", 'value1' => "value1-test2-$hasrows", 'value2' => "value2-test2-$hasrows" }; $hasrows +=1; } return (%test1,%test2); }