I try to eliminate below special character "^@" by perl in the attachment.
That is probably a representation of a zero-byte, just like ^A is a one-byte, etc.
I have tried "$.*^' regular expression for elimination in perl but fail
What do you expect "$.*^' to do? It looks bizarre to me.
I would try "s/x{00}/./g", which is just one of the many representations of a substitution that replaces all zero-bytes with a dot.