I started my cycle this past sunday (oct. 2) and I injected 2 1/2 cc.'s eq (500 mg.) into my left shoulder with a 23 gauge 1 inch needle (I plan on injecting 3 cc.'s, 750 mg. test e, using a 1 1/2 in needle on wed., glute med.). Right after my injection my shoulder muscle spasmed for about a minute and then began to relax. Yesterday and today my shoulder is quite sore and not just at the point of injection. The reason I used a 1 inch needle instead of a 1 1/2 inch needle was because a very experienced aas user at my gym, told me I did'nt need to use the bigger needle because of less tissue and fat in my shoulder compared to say a glute injection.
You can also go through each element and skip the ones you've seen before. Use a hash to keep track. The first time the loop sees an element, that element has no key in %Seen . The next statement creates the key and immediately uses its value, which is undef , so the loop continues to the push and increments the value for that key. The next time the loop sees that same element, its key exists in the hash and the value for that key is true (since it's not 0 or undef ), so the next skips that iteration and the loop goes to the next element.