in reply to Identifiying unique pattern

Sorry, but I think that you are going to have to clarify your question.

You have an array of strings @str

You want to search the strings in that array and locate those that contain (or start?) with the substring 'ssg'?

Note: What does the '*' signify? Is it a literal '*', or are you using it to indicate 'ssg' + plus more, as in a DOS style wildcard? In a perl regex that would have to be /ssg.*/; note the '.'

Also note that if it is a literal, and $size{ssg*} = 1; is a hash assignment, then you will need to quote any key containing non-word characters: $size{ 'ssg*' } = 1;; but if it is a wildcard, you cannot use wildcards with (standard) hashes.

And where does size come in? Do you want

  1. The number of strings in @str that contain (or start?) with 'ssg'?
  2. The length of (each) string that contains 'ssg'?
  3. Something else entirely?

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.