Offhand, I'd define an immoral person as a person who does what is immoral - especially if, in some sense, they realize what they're doing is immoral. A person who lies and who can generally admit, and even in retrospect admit, lying is wrong.
A moral pervert seems like a less-than-ideal name for someone who advocates, as moral, something that's actually immoral or amoral. 'Aborting a healthy child if you're poor is the right thing to do!' That's the cry of a moral pervert. There should be a better word for this, since 'moral pervert' sounds like a pervert who's pretty good most of the time. Wrong idea being conveyed.