Newsgroup: it.comp.lang.perl
Titolo: [?] un passo avanti con i cgi in perl

Ciao a tutti,
    scusate la mia insistenza ma è piuttosto importante.
con telnet sono riuscito a lanciare il mio programma, ed ho scoperto un po'
di cose.
Ho fatto così:
[...]/cgi-bin 28: perl wengine
wengine è il mio programma in perl, ed ho ottenuto
syntax error in file wengine at line 16, next 2 tokens "use strict"
syntax error in file wengine at line 34, next 2 tokens "chomp("
syntax error in file wengine at line 36, next 2 tokens "cgi_search_match("
Spurious backslash ignored at wengine line 36Spurious backslash ignored at
wengi
ne line 36syntax error in file wengine at line 43, next 2 tokens "do_link("
syntax error in file wengine at line 47, next token "}"
Execution of wengine aborted due to compilation errors.
Adesso vorrei sapere perchè sul mio PC con activeperl tutto funziona
correttamente, mentre sul "mio" server UNIX sembra non trovare alcune
librerie.
Poi, perchè ho dovuto eliminare l'estensione .pl per riuscire a lanciarlo?
E perchè se anzichè "perl wengine" scrivo semplicemente "wengine" non
ottengo nessun output, se non quello di bash sconosciuto?
Ciao e grazie per la pazienza.

 Execution of wengine aborted due to compilation errors.
Il tuo server e' preistorico e ha installato Perl 4, che non ha strict,
chomp e via dicendo.
Dovresti chiedere al server di aggiornare Perl (o provare a scrivere il
programma in modalita' Perl4, con l'effetto che se non ce l'hai installato
in proprio non puoi essere sicuro che sia corretto.
Puoi rinunciare a strict, usare chop() invece di chomp() e mettere le &
davanti alle chiamate a funzioni, ma non sono sicuro che sia sufficiente.
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

 non ottengo nessun output, se non quello di bash sconosciuto?
Come sai i file ASCII sono diversi tra le varie piattaforme ed in
particolare hanno diverso il fine riga.
Il tuo bash non riesce a lanciare #!/usr/bin/perl^M
perche' il file (il cui nome finisce con ^M) non esiste.
Se hai linux lancia vim (o vi che e' un simbilic link al vim)
in basso dovrebbe scriverti un [dos] per indicare che tipo di file e'.
Scrivi
:set ff=unix
e salva (:wq)
Vedrai che poi funzionera'.
Ciao
Massimo
--
 Massimo Balestra
 System Engineer
 Torino Italy
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 ottengo nessun output, se non quello di bash sconosciuto?
In Unix un file eseguibile deve essere "marcato" come tale.
prova a dare il comando:
chmod a+x wengine
						l.
--------------------------------------------------------------------------
       -- )     Luca Fini                            Tel: +39 055 2752 307
 ___    |\      Osservatorio Astrofisico di Arcetri  Fax: +39 055 2752 292
/   |   | |-_   L.go E.Fermi, 5 +-----------------------------------------
(___|___//___)  50125 Firenze  /   WWW: 
http://www.arcetri.astro.it/~lfini
 (_)      (_)   Italia        / e-mail: 
lf...@arcetri.astro.it
-----------------------------+--------------------------------------------
                              In a world without fences - who needs GATES?

 cerchero' un'altra donna dentro ai sogni di Tarzan...


Ciao e grazie, ho verificato ed infatti questo è perl 4.0
che cos'è il ^M in
#!/usr/bin/perl^M
??
E' un carattere ascii particolare?
Ciao

Con a capo intendi il CR (13), LF (10) o il CRLF?
mi sembra di ricordare che il formato testo di win e'
un "\n\r"; mentre unix usi "\n";
non sono sicurissimo
Oha
-- 
"Qualcuno mi spieghi perche' 144 e' l'unico
quadrato perfetto della serie di Fibonacci"

Si, "a-capo"
Con a capo intendi il CR (13), LF (10) o il CRLF?
E solo per la prima riga o per tutte?

un "\n\r"; mentre unix usi "\n";
E' corretto
Ciao
Andrea Busia
No Spam, Grazie.