Quello più probabile è che il trasferimento via FTP sia stato eseguito in modalità BINARIA.
Gli script CGI sono file di testo e vanno assolutamente trasferiti in modalità ASCII.
Un altra causa del malfunzionameto potrebbe essere il fatto che non sono stati settati correttamente i permessi.
A differenza delle pagine PHP, gli script CGI necessitano dei permessi di esecuzione: sono veri e propri programmi eseguiti sul server.
Con un qualsiasi client FTP trovate l'opzione CHMOD, o "Cambia Permessi" e settate il bit di esecuzione per tutti ad ogni script della CGI-BIN: numericamnete il valore da inserire è 755, cioè rwxr-xr-x
Altra causa, ma meno probabile, è che il path all'eseguibile Perl sia diverso dalla posizione standard: chiedete al vostro ISP il valore esatto del path di Perl e sostituitelo a quello della prima riga di ogni script: