That wouldn't make much sense, because a character class can match any of its characters, but how should it be interpreted in the right side of s///? Should that mean all the characters it represents? Or a random one?
The following code does what you want:
for (@links1) {
s/<\s*a\s.*?\b(href\s*=\s*".*?").*?>/<a $1>/i;
}
Now let me explain your errors:
@links1=~ # that would work like scalar(@array)=~
s/ .* # replace complete string with
/ href # 'href'
\s* # as many spacey chars as possible
\= # no need to escape '='
\s* # as many spacey chars as possible
\" # no need to escape '"'
.*? # as few as possible (=no) anythings
\" # no need to escape '"'
/isx; # 's' is not needed, I added 'x'
~Django
"Why don't we ever challenge the spherical earth theory?"