Perl is an interpreted language (not compiled, like Java) which is ideally suited for CGI programming. It has its roots in UNIX system administration and offers various features like regular expressions and file manipulation which make it very powerful. It is learning curve has been explained as long and shallow. It is very simple to pick up at first, especially if you are at all familiar with UNIX. Though, it does take quite a bit of time to become familiar with all the little nuances of the language. For most CGI work, though, these little nuances are not really essential.