i actually just ran into this issue, but there isn't a full simple answer to this question. a lot depends on which headers you want to remove. there are some standard http protocol headers which can't be removed on page renders, but to give you some answers to your general question, you should do the following:
ServerSignature Off
ServerTokens Prod
other headers can be removed in your Apache conf file, virtual host definition or your .htaccess file, assuming you're using Apache and you have mod_headers turned on:
<IfModule mod_headers.c>
Header unset HEADER_NAME
</IfModule>
just to reiterate, a lot depends on which headers you want to remove, so if Header unset doesn't work fully, then some of these headers can't be removed without modifications to your apache source or full knowledge of mod_perl to override standard headers. you can also try to use php, or your code of choice to edit headers, but you may experience some issues with that as well.
i hope this helps, again i just went through this, so i hope to help on some of the challenges and pitfalls, if i can :)