Tra C e Perl, sotto il profilo CGI, non ci sono differenze, nel senso che utilizzando il medesimo protocollo funzionano nello stesso modo.

Per cui se il programma non ha bisogno di dati in input basterà digitare nel browser:

http://www.sito.com/cgi-bin/programma

Se ha bisogno di input glieli passerai:
o con il metodo GET, e il programma li troverà nella variabile d'ambiente 'QUERY_STRING'

o con il metodo POST e il programma li riceverà tramite lo standard input.

infine per generare l'output sarà sufficiente usare delle semplici:

printf("Content-type: text/html\n\n");
printf("codice html");