Check permissions. If your CGI isn't chmod to 755, Apache may not be
able to see it.
When sending a page, the browser gets told what kind of MIME type the
file is. Dialog boxes pop up when the MIME type is unrecognized.
Apache has a file that lists MIME types that are associated with any given
extension. The pl and cgi extensions are not included in that file, because
normally pl and cgi files are executed rather than served.
Sometimes, people will offer ZIP files for download. The user ends up getting
WinZip or some similar program opening up the file for the user, when the user
wanted to simply save the file right now, and look at it later. By adding a line
to .htaccess, you can assign a MIME type to any given filename extension.
AddType application/octet-stream zip
would tell the browser that the zip file is a type that the browser doesn't
recognize, and thus the user would be prompted to save it to disk.