in reply to Ignore ALL characters and delete?

The link is not getting deleted because the pattern is never found in the file.
This is because of the meta characters in the link. To make sure that any special meta characters
are escaped in your regex you need the \Q an \E operators.

Try using this as your regex, then the you should be able to find the link.
if ($list =~ /\Q$link\E/i)