Newsgroup: it.comp.lang.perl
Titolo: Testo in un form

Ciao a tutti,
sono un totale inesperto, e vorrei inserire il contenuto di un file in un  
form (campo di testo). Uso il seguente codice:
print ("Content-type: text/html\n\n");
open(FILE, "< $filename");
while (!eof(FILE)) {
   $riga = <FILE>;
   print "$riga";
}
close (FILE);
ma così mi inserisce anche dei tag <BR> all'inizio di ogni nuova riga  
(cioè dove io ho espressamente spinto INVIO quando ho creato il file)!
Il file viene scritto con questo codice:
open (FILE,">$dir/ultima.txt");
print FILE "$subject\n";
print FILE "$body\n";
close (FILE);
Qualcuno sa dirmi come fare per visualizzare il puro testo?
Grazie!
Filippo

Il file viene scritto con questo codice:
io di tag <BR> mi sembra di non averne visti nel tuo codice...
evidentemente viene da qualche altra parte..
non sapendo la sorgente ti suggerirei di eliminare i <BR> dopo...
cioč hai il file con i <BR>, te lo parsi e li elimini...
altrimenti devi capire da dove arriva sto <BR> per correggere a
monte...
--
pigmalion at home
http://www.pigmalion.info/

cioč hai il file con i <BR>, te lo parsi e li elimini...
Non me ne intendo molto, ma mi viene da dire che un documento o č
"Content-type: text/html" o non lo č. Se lo č, in qualche modo i <BR> ci
devono essere (in quale altro modo si indicherebbe il fine riga?) o deve
esserci un qualche tag corrispondente che dica di rispettare gli a-capo (se
esiste in html); se invece dev'essere un testo puro... be', allora deve
esserlo.
Per tornare a perl, il ciclo di lettura puň essere riscritto in maniera piů
conveniente, eliminando accenti "stranieri":
    open FILE, '<' . $filename;
    while (defined($riga = <FILE>)) {
       print $riga;
    }
    close FILE;
O anche, piů stringatamente:
    open FILE, '<' . $filename;
    while (<FILE>) {
       print $_;
    }
    close FILE;
Ciao.

esserlo.
francamente non avevo esperienza dei <BR> che vengono aggiunti
automaticamente o probabilmente č da parecchio che non 'pazzeo' con i
form per sapere che i <BR> vengono messi automaticamente...
di solito gestisco io le conversionei <BR> - \n e viceversa...


form per sapere che i <BR> vengono messi automaticamente...
Anche a me sembra strano che vengano aggiunti automaticamente dei tag <BR>
(certamente, non dall'interprete perl, in uno script da linea di comando;
che cosa accada nel contesto di un cgi eseguito da un server http non lo
so), il punto comunque non era questo.
Vengano aggiunti automaticamente o no, se si tratta di un documento html mi
viene da pensare che debbano starci; se non ci devono stare, mi viene da
pensare che non possa essere un documento html (e comunque non vedo nessun
form nel codice pubblicato).
In ogni caso, bisognerebbe qualche informazione più dettagliata sul
contenuto originale del file, e sul contesto di esecuzione.
Ciao.

Mi spiego meglio. Ho uno script perl che mi fa questo:
open (FILE,">$dir/ultima.txt");
	print FILE "$subject\n";
	print FILE "$body\n";
close (FILE);
Naturalmente è modificabile, sono io che l'ho fatto così, ma non ne so  
mezza.
Dentro a $body ci sono degli "a capo", poichè è roba presa da un form con  
una riga del genere:
if ($FORM{'body'}) { $body = "$FORM{'body'}"; }
(non so se vi è utile saperlo).
Dopodichè devo aprire il file e tirare fuori il tutto per metterlo dentro  
ad un altro form, cosa che faccio con le righe che vi ho già mostrato:
#!/usr/bin/perl
$filename =  
"/web/htdocs/
www.parrocchiadibazzano.it/home/altro/donfranco/ultima.txt
";
print ("Content-type: text/html\n\n");
open(FILE, "< $filename");
while (!eof(FILE)) {
   $riga = <FILE>;
   print "$riga";
}
close (FILE);
messe direttamente dentro al form (usando <!--#include  
virtual="cgi-bin/
nomefile.pl
" -->
Il risultato, che compare nel nuovo form, è questo:
oggetto
<P>riga1body
<BR>riga2body
<BR>
mentre io vorrei questo:
oggetto
riga1body
riga2body
Grazie ancora!

close (FILE);
Prova:
  ...
  print ("Content-type: text/txt\n\n");
  ...
o quale che sia il Content-type per solo testo.
Non so se funzionerà, ma la mia opinione è che perl in sé non c'entri per
nulla e i tag siano aggiunti da chi riceve il file, browser, server o
chicché sia.
Ciao.

Niente da fare... anche così mi dà
<P>testo del body
<BR>
Mi sa che lo utilizzerò fuori da un form, dove ho visto che invece  
funziona...
Grazie dell'aiuto,
Filippo