Newsgroup: it.comp.lang.perl
Titolo: AIUTO!!! Interfaccia CGI Perl

Salve
c'e' in lista qualche buon anima che sappia perche'
quando richiamo il perl con il comando (per esempio)
http://www.
...it/cgi-bin/perl.exe?
prova.pl
mi risponde CGI Error...(nessuna risposta)
Il server e' Win NT e quando eseguo da prompt DOS
perl 
prova.pl
il programma funziona correttamente...
Se avete qualche idea vi sarei grato se me lo fate sapere.
NB: Le permission le ho controllate piu' e piu' volte...
Grazie.
Oscar Bettelli
--
Automatic posted from 
almadns.unibo.it
 [137.204.1.15]
via Mailgate Server - 
http://www.mailgate.org

Bett...@cesia.unibo.it
 wrote:
 >c'e' in lista qualche buon anima che sappia perche'
 >quando richiamo il perl con il comando (per esempio)
 >
http://www.
...it/cgi-bin/perl.exe?
prova.pl
Non lo fare. Non ho la minima idea di come si installi il perl sotto
windows ma sono ragionevolmente sicuro che questo e` il modo sbagliato.
(Hint: 
http://www.
...it/cgi-bin/perl.exe?-e'system "c:/dos/format c:
/autotest"' aggiungendo le opportune sequenze di escape.)
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *


http://www.
...it/cgi-bin/perl.exe?
prova.pl
Non devi scrivere cosě ma
http://www.
...it/cgi-bin/
prova.pl
senza "perl.exe?", lo capisce da solo cosa deve usare.
se non funziona neanche cosě prova a rinominare il file in prova.cgi e usare
l'indirizzo
http://www.
...it/cgi-bin/prova.cgi
Ciao
Andrea
-----------------------------------------
Redattore di Ludus (
http://www.ludus.it
)
Recensioni, Trucchi, Soluzioni,
Patch e News per PC e PSX
-----------------------------------------

 Andrea
Ho provato a rinominare il file in prova.cgi
ho associato all'estensione cgi il perl
ma quando provo con
http://www.
...it/cgi-bin/prova.cgi
il sistema mi risponde
System Error... is not a valid windows NT application
Cosa ho sbagliato???
NB: se provo da finestra DOS a lanciare prova.cgi funziona!!!
Oscar


Mi puoi riportare per favore le prima tre righe del programma cgi?
E mi dici la directory in cui si trova in compilatore perl?


print "Hello World" ;
Ma si trova in c:\cgi-bin ?
o in c:\qualchecosa\cgi-bin ?
Mi interessa la directory dell'albero che vedi facendo dir da root (dalla
directory principlale dell'hd, non da quella che vedi se ti connetti al
server.
Ad esmpio da me se carico localhost, va a cercare i file in
c:\programmi\xitami e i cgi in c:\programmi\xitami\cgi-bin e l'interprete
perl č in c:\perl\bin
da me la prima riga č
#!/perl/bin
Capisci quello che voglio dire, devi mettere il path relativo alla root del
disco, non alla directory dove si trova l'homepage.


 
http://www.
...it/cgi-bin/perl.exe?
prova.pl
i) Come notato da altri, non devi mettere l'interprete (perl.exe)
ma l'URL dello script (e.g. /cgi-bin-foo.cgi).
Se hai a cuore la sicurezza del tuo server, togli perl.exe dalla 
document tree del webserver (e anche cmd.exe, etc...)
ii) La riga:
#!/usr/bin/perl 
funziona solo sotto Unix. Se, come penso, stai usando NT/95 e IIS:
Bisogna modificare una key del registry (cosa che e' nascosta da qualche 
parte nella doc. HTML di IIS).
Naturalmente va fatto cona la meravigliosa applicazione che va sotto il
nome di regedit.
La Key e' 
HKEY_LOCAL_MACHINE\CurentControlSet\SYSTEM\Services\W3SVC\ScriptMap
qui devi aggiunger una chiave di valore pari all'estensione dello script
(e.g.: .pl, o .cgi) il cui valore sia il path completo dell'interprete (
e.g: C:\perl5\bin\perl.exe)
Attenzione: grazie al merviglioso design dei sistemi MS, modificare il
registry e' uno sport pericoloso. Se ti sbagli, la tua macchina potrebbe
non bootare
piu'. Dischetti di rescue sono caldamente consigliati. Io non mi assumo
nessuna responasbilita'
se ti va storto qualcosa seguendo la procedura di cui sopra (ne' se la
assume MicroSoft, BTW).
HTH & cheers,
	Alessandro


Errore 501 magari ?
Allora Windows NT non è proprio come Unix o linux
Perché le cose possano funzionare accertati che:
1) la directory che usi per Scripts abbia i permessi di
esecuzione
2) usare una versione di perl compilata per Windows NT
a 32 bit attenzione ce ne sono varie, quella che ho io va bene sotto windows
NT che sotto Win95, non lo dico io ma il resource kit di Windows NT (che non
ho qui ma in ufficio)
3) sulle risposte su Stdout quelle per intenderci
 print "Vorrei scrivere qualcosa di interessante ma ho l'amnesia" deve
esserci come qualcuno ha già citato
l'istruzione print "content-type: text-html\n\n";
4)Inoltre si può richiamare direttamente il perl impostando una chiave del
registro di Windows non mi ricordo più qual'è
5) ultimo consiglio metti un + alla fine del comando e siccome interfaccia
CGI lo interpreta come spazio vedrai che magicamente capirà fine parametro
ed eseguirà il tutto
Ciao
di...@prometeo.it

P.S. per essere chiara la storia del + va scritta cosě
http://www.web.it/Scripts/perl.exe?prova.pl+