Torbjørn Skrevet 6. desember 2003 Del Skrevet 6. desember 2003 Hashes inneholder som tidligere nevnt såkalte "key" => "value" par. Her følger litt mer om hva man kan gjøre med denne. #!/usr/bin/perl # --------------------------- ## hente ut keys og values ## --------------------------- # # gitt en %hash%hash = (navn => 'ole', tittel => 'sjef', alder => 23 ); # keys# -------- # @keys = keys %hash; # @keys vil nå inneholde ('navn', 'tittel', 'alder') # values# -------- # @values = values %hash; # @values vil nå inneholde ('ole', 'sjef', 23) # ------------------------------- ## iterere seg gjennom hashen# ------------------------------- # while( ($key,$value) = each %hash){ print "$key = $value\n"; } # følgende er selvsagt også mulig: foreach $key (keys %hash){ print "$key = $hash{$key}\n";} # kombinere kunnskap # -------------------------- # # med funksjonen 'join' friskt i minne, kan man gjøre følgende med en hash# for å se hvilke keys man har: print join "\n",keys %hash; # prøv det!# (det vil slå sammen arrayen med alle nøkler til en streng separert med \n, # linjeskift, mao printe ut en nøkkel på hver linje. # ----------------------------------------------- ## fram og tilbake mellom arrays og hashes ## ----------------------------------------------- # # ser dette rart ut?%hash = ('navn', 'ole', 'tittel', 'sjef', 'alder', 23); # lage en hash fra en array? # eventuelt dette:@array = (1, 2, 3, 4, 5, 6);%hash2 = @array; # det er i prinsipp det samme som å skrive:%hash2 = ( 1 => 2, 3 => 4, 5 => 6); # dvs # $hash2{1} = 2, $hash{3} = 4, etc... # denne teknikken (konstruere en hash fra en array) brukes ofte,# så den er grei å være klar over. # kan også gå fra en hash til en array: @array = %hash; # @array vil nå inneholde ('navn', 'ole', 'tittel', 'sjef', 'alder', 23); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå