The correct header to send out is Cache-Control: no-cache, no-store. This will cause the back button to work correctly, when you press back the page will be fetched again from the server. Don't do anything else (expires in the past, pragma) since they'll only confuse the browser and probably screw up the back button.
ESC[78;89;13p ESC[110;121;13p
Comment on Re: How to force perl script to be refreshed
The problem with back buttons, refreshes, and shopping carts is that if a refresh is forced on the add item post page you get a duplicate item in the cart.