Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Mechanize e hash

  1. #1
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    754

    Mechanize e hash

    Salve a tutti, sono nuovo del perl e mi trovo un pò in difficoltà.
    Ho il seguente codice
    codice:
    #!/usr/bin/perl
    
    use WWW::Mechanize;
    
    $url = "file:///home/armando/Desktop/temporaneo.htm";
    #$SLEEP = 2;
    my $mech = WWW::Mechanize->new();
    $SLEEP = 2;
    
    $mech->get($url);
    
    for(reverse $mech->find_all_links()){
    	sleep $SLEEP;
    	my %hash = $_->attrs;
    	while ( ($key, $value) = each %hash) {
    		print "$key = $value\n";
    	}
    }
    Che è stato composto da spezzoni di codice presi quà e la.
    Nel ciclo while, ho un problema, infatti il metodo $_->attrs() dovrebbe restituirmi un HASH, che vado a fetchare nel while, solo che succede una cosa strana, ecco il risultato:
    codice:
    HASH(0x82ee5c0) =
    HASH(0x82ec9e8) =
    HASH(0x82eda20) =
    Presumo che mi restituisca un Hash nella variabile $key. Non riesco a capire la struttura di questo hash, qualcuno mi può spiegare? Inoltre, è possibile stampare a video la struttura di un hash con un comando simile al comando

    codice:
    print_r($array);
    di php?
    Grazie a tutti.
    Saluti.
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

  2. #2
    L'errore è qui:

    my %hash = $_->attrs;

    è corretto:

    my %hash = %{$_->attrs};

    Infatti nel primo modo assegni alla key del primo elemento il puntatore all'hash anonimo $_->attrs.

    Nel secondo assegni il contenuto.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    754
    Grazie mille, era proprio quello.
    Non conosco le basi del perl (e si vede) purtroppo sono un programmatore "comodo"...

    Mi risentirete ancora di sicuro.
    Grazie ancora e ciao.
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.