if (!$type and $contents =~ s/^(\s*)([A-Z]\w+(?:::\w+)+)(?![^;\s])//) {
printf '%s<a href="%s">%s</a>', $1, "/source/$2", $2;
}
if (!$type and $contents =~ s/^(\s*)([A-Z]\w+(?:::\w+)+)(?![^;\s])//) {
printf '%s<a href="%s">%s</a>', $1, "/source/$2", $2;
}