One of my cats will eat anything that is soft plastic.  He will eat shopping bags, cellophane wrappers, *anything*.  Fortunately, he hasn't had any issues.  I've seen plastic in his poop, so when he eats it, at least it passes.  Once I heard him gagging somewhat in the middle of the night.  I got up and saw him with a couple inch strip of plastic hanging out of his mouth.  He was happily munching it down.  I grabbed it and started pulling it out of his mouth.  It was 3-4 feet long.  He had gotten into the trash and ate the cellophane wrapper from a large box.  

I have gotten in the habit of making sure there is never any plastic around, but every once in a while he finds some.  

How can I teach him not to eat plastic?

Also I want to know, what is causing my cat to eat plastic?