UPDATE: late at night and didn't check the date to see that it was a zombie thread... post is still relevant in case someone looks...
FFT/DFTs are not difficult to implement, and while I'd tend to do it in C, I think Perl should do it pretty well.
It's not difficult, but I wouldn't bother implementing FFTs myself at all anymore, except as an excercise in implementing FFTs or if I needed to own the code. There are free libraries available, such as fftw that are already debugged, documented, and reasonably optimized. Fftw is pretty speedy - about 0.06 seconds to do a 2048x2048 2D-FFT on a new-ish (i7) Macbook.