Newsgroup: it.comp.lang.perl
Titolo: AIUTO URGENTE SCRIPT PERL !!!

STO FACENDO QUESTO SEMPLICE SCRIPT PER ARCHIVIARE DELLE INFORMAZIONI,
l'unico problema è che non vuole fare la open da netscape, se lo compilo
funziona ok.
Non credo sia un problema di Path perchè le ho provate tutte.....
Cosa può essere ?
Grazie
#!/usr/bin/perl
print"Content-type: text/html\n\n";
&ReadParse( );
$nome=$in{'name'};
print "$in{'name'}";
open (OUT, ">>rubrica");
print OUT
"$in{'name'}|$in{'cognome'}|$in{'indirizzo'}|$in{'citta'}|$in{'comune'}|$in{
'provincia'}|$in{'data'}|$in{'email'}|$in{'icq'}|$in{'interessi'}|$in{'profe
ssione'}|$in{'note'}\n";
print OUT "END\n";
print "Grazie per aver inserito <BR>";
print
"$in{'name'}|$in{'cognome'}|$in{'indirizzo'}|$in{'citta'}|$in{'comune'}|$in{
'provincia'}|$in{'data'}|$in{'email'}|$in{'icq'}|$in{'interessi'}|$in{'profe
ssione'}|$in{'note'}\n";
close(OUT);
############################################################################
###
sub ReadParse {
  local(*in)=@_ if @_;
  local ($i,$key,$val);
  if ($ENV{'REQUEST_METHOD'} eq "GET") {
    $in=$ENV{'QUERY_STRING'};
  }
  elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
    read(STDIN,$in,$ENV{'CONTENT_LENGTH'});
  }
  @in=split(/&/,$in);
  foreach $i (0 .. $#in) {
    $in[$i] =~ s/\+/ /g;
    ($key,$val)=split(/=/,$in[$i],2);
    $key =~ s/%(..)/pack("c",hex($1))/ge;
    $val =~ s/%(..)/pack("c",hex($1))/ge;
    $in{$key} .= "\0" if (defined($in{$key}));
    $in{$key} .=$val;
  }
  return length($in);
}
Grazie a tutti.
:-)

Goldlob,
scusa se ti rubo del tempo ma io sto' sbattendo la testa sul tuo stesso
problema da 15 gg. Se risolvi, mi dai una mano pure a me? Ovviamente, se
riesco a risolvere prima io, ti aiuto io.
Ciao e grazie.
...e mica so' Mandrake pe' davero - Gigi Proietti (Febbre da Cavallo)
--
Posted from 
IDENT:ro...@planetsec.com
 [194.20.232.117] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:000701c0035a$9a9b8fc0$a769d2c3@mecarell...


Il problema non è nel codice, ma nei permessi della cartella in cui metti il
cgi. Come ti ho scritto nel precedente msg, dopo giorni e giorni ho capito
che era li' il problema. Praticamente la dir cgi-bin (o cmq quella per i
cgi) deve avere il permesso in scrittura per tutti gli utenti. Verifica,
perchè io ho due cartelle sul mio server: cgibin con permessi in scrittura
per tutti gli utenti, e cgi-bin no. Mettevo i script sempre nella seconda e
non funzionavano, nella prima mi funzionano.
Spero d'esserti stato di aiuto.
Ovviamente i permessi te li deve cambiare il manteiner.
Ciao.
...e mica so' Mandrake pe' davero - Gigi Proietti (Febbre da Cavallo)
--
Posted from 
relay1.inwind.it
 [212.141.53.67] 


ma sei matto a mettere scrivibile da tutti la cartella cgi-bin ???
-- 
-------------------------------------------------------------------------
Hosting professionale a prezzi USA? 
http://www.servitelit.com/prezzi.htm
-------------------------------------------------------------------------

Ma allora, come faccio ad aprire un file con open (scrittura o lettura che
sia), visto che la sintassi e' giusta?
Forse la domanda e' stupida, ma come mai su apache se faccio
open (FILE,"percorso_locale/file.txt");
mi apre il file e sul server no? Ho notato che l'unica differenza era
quella. Allora mi e' sicuramente sfuggito qualcosa.
Se mi aiuti te ne sarei molto grato.
Ciao.
--
Posted from 
IDENT:ro...@planetsec.com
 [194.20.232.117] 


semplicemente perchè sul tuo pc (dove sicuramente userai winzozz...) non
esistono i permessi di lettura/scrittura.
prima di imbarcarti in cose più grandi di te, cerca di "istruirti" un
pochino leggendo qualche buon libro su unix e perl, altrimenti ti perdi
in un bicchiere d'acqua !!
-- 
-------------------------------------------------------------------------------
  Hosting professionale a prezzi USA ?
http://www.servitelit.com/prezzi.htm
Registrazione domini a Lire 50.000 ?
http://domini.servitelit.com/prenota.html
-------------------------------------------------------------------------------