Триста раз проверил по апачевскому мануалу httpd.conf, permissions - ну всё правильно. Но Firefox выдаёт только текст сgi-файла.
На всякий случай, содержание httpd.conf:
AddHandler cgi-script .cgi .pl
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride All
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
first.cgi:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
Сам файл запускается из командной строки и ведёт себя правильно.