Before pasting into the terminal, try :set paste and then :set nopaste after you're done. This will turn off the auto-indent, line-wrap and other features that are messing up your paste.

edit: Also, I should point out that a much better result than = indenting can usually be obtained by using an external program. For example, I run :%!perltidy all the time. astyle , cindent , etc. can also be used. And, of course, you can map those to a key stroke, and map different ones to the same keystroke depending on file type.