Premetto che non ho mai fatto trasferimenti FTP automatici, ma qualche consiglio posso dartelo.
Non ho capito su quale server gira il CGI. Suppongo sia sulla macchina che deve ricevere il file.

Mi par di capire che il tuo script sia un CGI scritto in PERL.

I CGI devono sottostare ad una serie di vincoli di permessi, altrimenti chiunque potrebbe andare a modificare tutto sul server e ti troveresti impestato di virus e troiani vari nel giro di pochi minuti.
Nei CGI ci sono diverse cartelle in gioco:
- cartella in cui e` presente il CGI
- cartella dati (ad esempio dove sta il database)
- sito Web che puo` chiamare il CGI

E ci sono in ballo varie permission:
- permesso di eseguire un eseguibile (nella cartella del CGI)
- permesso di leggere e scrivere (ma non eseguire) da parte dell'utente sotto cui gira il CGI (sulla cartella dei dati)
- permesso di leggere da una selezione di altre cartelle (ma non tutte quelle del server)

Ora mi pare dalla tua domanda che non hai chiaro tutto cio`.
Altre info (piu` dettagliate) le puoi trovare sul sito di shishii.