Step 1: The raw materials
1. A body cap for your camera (I got a spare one for £1 on ebay)
2. Some thin metal (eg. foil, the side of a drinks can)
The trick of this method is using the body cap as the support for the pinhole. It is a perfect fit for the camera, has no light leaks, is easy to fit and remove (with no chance of causing damage to the camera) and is easy to modify. The thin metal will be used to make the actual pinhole, any piece of thin and soft metal (aluminium is ideal) will do.
Step 2: Drilling the body cap
If you don't have a drill a penknife (or similar) will work just as well, but will take more time. Make sure you don't damage the cap otherwise you will get a light leak.