while_odometer_has_not_run_to_completion... { $id2++; ( $data{$id}{$id2}{'key1'}, $data{$id}{$id2}{'key2'}, $data{$id}{$id2}{'key3'}, ) = ( $hash{$id}{'key1'}[ $odometer[0] ], $hash{$id}{'key2'}[ $odometer[1] ], $hash{$id}{'key3'}[ $odometer[2] ], ); next_odometer( \@odometer ); }