You shouldn't ever need to use "$2". It's just the same thing as $2.
So you're still assigning two values to the same hash key. The second one overwrites the first, so that $uniques{"$2"}++; line does nothing.
Also, | is the bitwise or operator. You want || or or.
And finally, running any regexp match overwrites the values of all the number variables (for instance, $2), so after checking $2 =~ /css/i, $2 will be undef.