Newsgroup: it.comp.lang.perl
Titolo: <div>

all'interno di una(+) pag. html compare il tag <div class="navi"> ..... ....
...  .</div> all'interno del quale devo prelevare dei dati.
ho notato cosa veramente strana, implementando una struttura standard di
caricamento dati :
open(IN,"<file.htm");
@file = <IN>;
close IN;
print @file;
mi stampa tutto in contenuto del file, fuorche il contenuto del tag (flag
compresi). Avete una spegazione ? Rimedi ?
PS. guada caso i dati che devo prelevare sono inseriti proprio all' inteno
dei tags.



C'e' mica di mezzo AJAX?
http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm
  Raffaello

 ha scritto nel messaggio
news:Pine.OSF.4.63.06...@harry.molgen.mpg.de...


Perchè gli elementi dell'array che tenti di stampare vengono 
interpretati come handle (?!?).. se vuoi stamparli in una botta sola usa 
la join :
file di prova con tags test.txt:
<html>cicic</html>
<div>ciao</div>
<fff>ddd</fff>
test.pl
:
#!/usr/bin/perl
open (RD,"<test.txt") or print $!;
@file = <RD>;
close RD;
print join "",@file;
Altrimenti se gli elementi della lista puoi processarli in un ciclo for:
foreach $riga (@file){print $riga};
Ciao
GahanaWay ha scritto:


 Avete una spegazione ? Rimedi ?
Per favore, fornisci un esempio breve ma completo (script+dati) che 
riproduca il problema in questione.
Max

GahanaWay ha scritto:

Perchè gli elementi dell'array che tenti di stampare vengono 
interpretati come handle (?!?).. se vuoi stamparli in una botta sola usa 
la join :
file di prova con tags test.txt:
<html>cicic</html>
<div>ciao</div>
<fff>ddd</fff>
test.pl
:
#!/usr/bin/perl
open (RD,"<test.txt") or print $!;
@file = <RD>;
close RD;
print join "",@file;
Altrimenti se gli elementi della lista puoi processarli in un ciclo for:
foreach $riga (@file){print $riga};
Questa è la risposta pedestre senza troppi sforzi.. bruta ma valida. 
altrimenti puoi usare : HTML::TokeParser , che ti permette di "filtrare" 
all'interno di un html solo di tag descrittori/dati che ti servono:
use HTML::TokeParser;
   $p = HTML::TokeParser->new(shift||"index.html");
   if ($p->get_tag("div id=nave")) {
       my $nave = $p->get_trimmed_text;
       print "ID_nave: $nave\n";
   }
Ciao.. Hannibal

GahanaWay ha scritto:

Scusa.. nell'esempio del toke:parser ti saresti fermato alla prima 
ricorrenza del token cercato.



test.pl
:







test.pl
:





   while (my $token=$p->get_tag("div class=nave")) {
       my $nave = $p->get_trimmed_text;
       print "Div nave: $nave\n";
   }
Ari - Ciao.. Hannibal

 compresi).
Cosě come la racconti, č impossibile.

 interpretati come handle (?!?)..
Questo non può accadere *MAI*.
Anzitutto Perl interpola soltanto le *variabili* (e neanche tutte) e non 
certo gli *operatori* (e <> è un operatore!)
E per giunta Perl non ammette livelli multipli di interpolazione, quindi 
anche se leggessi da un file una cosa che sembra una variabile Perl 
(tipo $var), non verrebbe interpolata neanche quella (grazie a Dio!)
Ciao,
Emanuele.

 Emanuele.
hehe.. lo sapevo che spuntavi fuori :)
cmq i punti ?!?! indicavano un deciso dubbio... ed ora è decisamente 
aumentato: visto che riprodurre il *fenomeno* costa poche righe di 
script (
c.ca
 50 cal.) o un copia-incolla (
c.ca
 7 cal.) l'ho fatto.. e il 
print della lista contenente il file *effettivamente* salta i gruppi 
<tag>blabla</tag>. Postata la risposta, chiuso PSPad, leggo il reply al 
post e mi dico "come *MAI* ???", riapro PSPad, disasterisco la riga con 
il print @file e.. le stampa.. ora mi toccherà passare la notte a 
provare tutte le mosse che ho fatto da quando ho letto il post di gahana 
per trappare la sequenza incriminata.
PSPad 4.5.0 build 2183
Perl 5.8.0 build 806
XP Prof Ita

Hannibal ha scritto:

come non detto.. sono un idiota.. non scrivo che kaxata avevo fatto, ma 
mi sono già punito da solo a testate sulla tastiera :P

 <tag>blabla</tag>.
Quindi, visto che secondo i tuoi acuti calcoli un copia e incolla 
costerebbe così poco, perché non lo fai qui, così verifichiamo 'sta 
cosa? :-)


oopss.. mi ero già autorisposto nel mio ultimo post.. anzichè 
risponderti.. cmq autodenunciavo la mia kaxata !! desculpe Ramòn B)

 risponderti.. cmq autodenunciavo la mia kaxata !! desculpe Ramòn B)
Desculpato, desculpato (l'autocritica va sempre apprezzata, anche quando 
è tardiva ;-)
(Magari la "kaxata" di cui parli è la stessa che commette Gahana, valuta 
tu se è il caso di postarla...)

Emanuele Zeppieri ha scritto:

X karità.. ho già dato per stasera :) .. mi era skappato un "print 
.@file" e non avevo l'highlighter attivo .. il filetto (*failetto*) di 
prova aveva 3 righe tutte tra tag et voilà.. escludo ke Mahathma abbia 
fatto lo stesso.. almeno lo spero per la nostra sopravvivenza 
informatica.. Basta. E' l'ora della ()__)_______))))
Ciao ;)

 ha scritto nel messaggio
news:3Tqcg.8974$mJ1...@tornado.fastwebnet.it...


 No, non credo ! cos'e ?
Se non sai cos'e', come fai a dire di no ...
Il fatto e' che con AJAX, il contenuto del div
cambia dinamicamente (con javascript).
IMHO puo' essere la causa dei tuoi problemi.
Da dove le prendi le pagine html?
  Raffaello

GahanaWay ha scritto:

cmq se parti da un file *STATICO* (e data la OPEN direi di si) non ti 
può succedere. Al limite ti potrebbe accadere facendo la GET di pagine 
con contenuto dinamico.. soprattutto per tag particolari tipo <IFRAME> 
etc etc, che vengono interpolati con l'oggetto referenziato da src= o 
robe simili.