for (keys %conductordata){ print OUT @{$conductordata{$_}}; } #### for (keys %conductordata){ my $ref = $conductordata{$_}; print OUT $ref->[0..1]; } #### $number=$values{"number"}; my $con_data=[]; for ($i=1 ;$i<=$number ; $i++){ push @$con_data, [$values{"radius$i"}, $values{"length$i"}]; } #### my @numbers = grep{ s/radius(\d+)/$1/ } keys %values; $con_data[$i] = [$values{"radius$i"}, $values{"length$i"}] for my $i (@numbers); #then print: print OUT @$_ for (@$con_data);