Newsgroup: it.comp.lang.perl
Titolo: Script in perl

Salve a tutti
č la prima volta che mi capita di dover usare perl e quindi scusate la mia
ignoranza riguardo a questo linguaggio, il mio problema č questo:
ho uno script in perl che non funziona piů a causa di un guasto sul server
che mi ha fatto perdere tutti i programmi installati su di esso,
 di uno di questi programmi ho il sorgente in perl
ma quando lancio questo script in perl anzichč partire in una
finestra di Internet Explorer esso lancia una finestra del DOS
non eseguendo quindi quello che dovrebbe eseguire.
Come posso fare a farlo partire in una finestra di Internet Explorer come
faceva il programma originale?
               Grazie a tutti anticipatamente delle risposte



Collabora, mi scoccio di scrivere tutte le opzioni prima :)
Che estensione ha il file che vuoi vedere in explorer?
--
www.pigmalion.info
www.pigmalion.info/perl/

 ha scritto nel messaggio
news:kr2ibvcg3ced1sfu7...@4ax.com...


faceva il programma originale?
Immagino che il "programma originale" fosse eseguito da un server http
(Apache o chi per lui). Non capisco invece quale sia la situazione attuale:
il server http esiste ancora o stai cercando di eseguire lo script in
locale?
Ciao.

 ha scritto nel messaggio
news:1ujsbv8ma8c5lr76v...@4ax.com...


Quali altri file ha bisogno l'interprete del perl per funzionare?
Di un server http.
In alternativa, prova a redigere l'output su un file (perl 
script.pl
 >
out.html), e apri quello nel browser.
Ciao.

 Di un server http.
Apache va bene come server http? l'ho già installato da tempo.
Quindi perchè gli script in perl non mi creano una pagina html al volo?
ho forse impostato (settato) male Apache?
Quali sono le eventuali impostazioni da effettuare su Apche perchè
mi trasformi uno script in perl in una pagina HTML al volo?
                       grazie ancora
                                         ciao

mi trasformi uno script in perl in una pagina HTML al volo?
Credo che sia sufficiente che lo script sia nella directory giusta, con i
permessi giusti, e che il browser lo richieda al server. Poniamo che lo
scrpit sia nella directory cgi-bin, nel browser dovrai impostare, nella
barra degli indirizzi, qualcosa come 
http://localhost/cgi-bin/script.pl
.
Ciao.


ho creato una directory in C:\ dal nome cgi-bin contenente lo script in perl
e poi nel browser ho scritto l'indirizzo 
http://localhost/cgi-bin/script.pl
.
ma mi da il solito errore:
"Impossibile trovare la pagina
La pagina cercata è stata rimossa, il nome della pagina è stato modificato"
ecc..ecc..
se scrivo soltanto 
http://localhost
  il browser mi visualizza una pagina che
conferma il corretto funzionamento di Apache.
da notarsi che non c'e nessun errore nello script perchè anche tutti gli
altri script di esempio non funzionano.
dove sbaglio?
                   Grazie ancora anticipatamente

ecc..ecc..
Il punto non č che la directory si chiami cgi-bin, ma che sia quella
"giusta", cioč una delle directory servite da Apache, e anzi la directory
predefinita per gli script.
Non tutto il file system č accessibile tramite il server http, e normalmente
la radice degli indirizzi non č c:\. La posizione, cioč, cosě come č nota al
server, non corrisponde al percorso fisico sul disco.
Devi guardare le impostazioni del server, e vedere dove vanno messi gli
eseguibili (ovvero, evidentemente, dire al server che gli eseguibili sono
dove tu li hai messi).
Di piů non so dirti, perché non so come si configura Apache. In particolare
non in Windows: in Linux ti direi di guardare nel file
/etc/httpd/conf/httpd.conf, che dovrebbe contenere una riga del tipo:
   ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
seguita da alcune impostazioni relative a questa directory.
In Windows, non so dove sia il file di configurazione, o se esista una
qualche applicazione per configurare il server in modo piů Windows-like.
Ciao.


Sono andato a vedere il file httpd.conf e ho visto che la directory
predefinita
per gli script è la seguente,
DocumentRoot "C:/Programmi/Apache Group/Apache2/htdocs"
Allora ho messo gli script in tale directory ma il problema permane
cioè si apre una finestra del dos ma non crea una pagina HTML al volo.
   qualcuno sa dirmi perchè? che cosa sbaglio?
                  Grazie.

DocumentRoot "C:/Programmi/Apache Group/Apache2/htdocs"
No, questa la directory root per i documenti.
Per gli script devi guardare la riga:
 ScriptAlias ....
In cui la prima voce è il nome "pubblico" (quello cioè che metterai
nell'indirizzo del browser) e la seconda voce il percorso fisico nel file
system.
Cioè, se la configurazione in Windows segue le stesse convenzioni di quella
in Linux.
Ripeto comunque che ne so abbastanza poco. Se non ne vieni fuori, oltre alla
documentazione di Apache, prova a chiedere anche su it.comp.www.cgi.
Ciao.


Grazie a Giovanni Zezza ho  risolto il problema: era dovuto ad una errata
configurazione del file httpd.conf che esiste anche in windows.
:-)   Grazie ancora e a buon rendere,
   in genere mi occupo di Visual Basic e Visual Basic per Applicazioni.
                                                             Paolo

   in genere mi occupo di Visual Basic e Visual Basic per Applicazioni.
Di fatto, le cose di cui abbiamo parlato riguardano assai poco il perl:
un'applicazione cgi può essere scritta in qualunque programma, anche in
Visual Basic. Tutto quello che metti nella directory "magica" di Apache
viene trattato in modo analogo: Apache tenta di eseguirlo, e trasmette
l'output prodotto al browser.
Ciao.