This is a Perlin Noise generator I wrote to help me understand how they work. Most of the code is based off of the code in this DevMag Article.
The article has a pretty good explaination of how to generate Perlin Noise.
I've extended the code to include the ability to transform noise fields into other objects. The example includes an XNA project that translates a Perlin Noise Field into a colored texture.