Gå til innhold

Anbefalte innlegg

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...