You are doing a match, not an assignment so use =~ rather than =.
Is the second slash in your m//http|html|HTML|A HREF|a href/i intended or a typo? It is why you are getting a bareword error because you are matching against an empty pattern (m// which actually means last successful match, thanks hipowls for pointing that out) and the 'http' that follows is the bareword. If intended, either escape it with a backslash (m/\/http..../) or change the delimiter used to something other than a forward slash (m{/http....}).