PDA

Visualizza la versione completa : problema array


gianvituzzi
14-05-2008, 12:30
Salve,

sto cercando di creare una sub che mi ritorni tutti gli "amici" di un "amico" proprio seguendo il modello di myspace che divide le pagine in 40 amici...soltanto che io non so quante pagine ci sono quindi:

mettiamo che la mia lista id sia divisa in 3 pagine (ma io non lo so sto solo supponendo)

pagina 1: 40 ids (unici)
pagina 2: 40 ids (unici)
pagina 3: 40 ids (unici)

l'unico dato che so durante il mio sfogliare le pagine è che se chiamo pagina 4 avrò gli stessi ids di pagina 3 e mi devo basare su questo per capire che le pagine erano 3 e che mi posso fermare nell'esplorazione...questo è il codice che ho scritto ma che non funziona tanto bene:


#!/perl

my $page = 0;
my $id = 60964437; # me
my $last_friend;
my @main;

while (1)
{
$page++;

my $html = &_return_htmlcode_from_myspace( $id, $page );

while ( $html =~ /<div friendid="(\d+)">/g )
{
push @_, $1;
}

if ( $last_friend && $last_friend == $_[$#_] )
{
last;
} else {
$last_friend = $_[$#_];

push @main, @_;
}

}

purtroppo in @main non mi ritrovo tutti gli ids delle 3 pagine ma tante volte gli stessi ids a ripetizione...perchè??

grazie

gianvituzzi
14-05-2008, 14:09
colpa mia, l'array speciale @_ ha uno scope globale ma a me serviva locale

Loading