Haha, I'm going to let someone else hopefully answer that question. My answer would only cause you problems. My way would be to use boolean difference to do that but I understand booleans very well. If you're not familiar with booleans it will cause you a major headache and you should wait for a different answer.
Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!