$group->{$label}->{pos1}
é sempre definido, você é inizializado com a linha 6:
pos1 => 1e10,
para que funcione até $pos1 <= 1e10
.
Se você quiser imprimir o valor mínimo $group->{$label}->{pos1} = 3512970000000
(como sua entrada de amostra), você deve inizializar $group->{$label}->{pos1} = -1
(linha 6):
pos1 => -1,
e modifique a linha 13 com:
$group->{$label}->{pos1} = $pos1 if (($group->{$label}->{pos1} < 0) || ($pos1 < $group->{$label}->{pos1}));