Hi lucky3, the trick to preventing caterpillars is to net the plants to stop butterflies laying their eggs in the first place. You can't buy a spray that will stop them laying eggs, but you can buy sprays that will kill the caterpillars without (allegedly) harming anyone who eats the sprayed plants, provided the instructions on the label are followed properly. Google "bug clear for fruit & veg".
Bob is right, only sure fire way is to net the plants (Oh that I'd done that this year!) I have to go through all the plants two or three times a day and remove all the eggs I find. Inevitable I miss afew and I start to see holes appearing in the leaves. I really do not want to use insecticides so I've given myself a lot of work as the large whites (Cabbage Butterfly) are relentless. I'm the only person in at least 6 houses either side of me that is growing veg and all the butterflys think it's 'showtime' and I've prepared them a Michelin 3 star restaurant.
I've decided that next year I'm going to net all my raised beds with fine mesh but that means I've also got to prepare some frames to attach them to...Hey-Ho!
Type butterfly netting into Google and a number of sites will pop up. JH