Also note that the extension ".pl" is rarely used by servers as an executable script extension (though it can be, I just never have seen it). ".cgi" is the usual extension.
Hehe, whoops! That's what I get to writing a node before my gallon of coffee in the morning. I suppose all Slashcode and Everything derivitives use .pl as their extention. Ah well.
There is no "usual" extension. A server can be configured to recognize CGI scripts "anywhere" via extensions such as ".cgi" and ".pl". This is bad. Much safer is to have a specific directory under which all files (regardless of extension) are treated as CGI. This is good. I won't repeat the details... this has been hashed about before here and other places.