my ($res, $maxdigs, $dummy, $silly); ($res, $dummy, $silly, $maxdigs) = $pattern=~/^_*((\d*|#*|\**)+(\[\d+\-\d\])?)(X*\.?\!?)$/g;