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);