Gå til innhold

Anbefalte innlegg

Det er tidligere vist hvordan man lager arrays og hvordan man henter ut ett eller flere elementer.

 

Her kommer det litt mer array stuff for de lærehungrige.

 

# --------------------------------- #
# Legge til og fjerne elementer #
# --------------------------------- #

# lager en enkel array
@array = (1, 2, 3, 4, "a", "b", "c", "d");

# man kan fort se for seg 4 typer operasjoner for å legge til eller fjerne

# 1: legge til på begynnelsen:
# -------------------------------- #
unshift @array, "først";  
# @array vil nå se slik ut: ("først", 1, 2, 3, 4, "a", "b", "c", "d")

# 2: legge til på slutten:
# -------------------------------- #
push @array, "sist";  
# @array vil nå se slik ut: ("først", 1, 2, 3, 4, "a", "b", "c", "d", "sist")


# 3: fjerne fra begynnelsen:
# -------------------------------- #
$element = shift @array;  
# @array vil nå se slik ut: (1, 2, 3, 4, "a", "b", "c", "d", "sist")
# $element inneholder "først"


# 4: fjerne fra slutten:
# -------------------------------- #
$element = pop @array;
# @array vil nå se slik ut: ("først", 1, 2, 3, 4, "a", "b", "c", "d")
# $element inneholder "sist"


# ---------------------------- #
# arrays til og fra strenger #
# ---------------------------- #


# splitte opp en streng til en array:
# ------------------------------- #

# gitt en streng
$var1 = "lindahl:x:500:500:Torbjørn Lindahl:/home/lindahl:/bin/bash"

@array1 = split /:/, $var1;
# @array1 vil nå inneholde: ("lindahl", "x", "500", "500", "Torbjørn Lindahl", "/home/lindahl", "/bin/bash")


# slå sammen en array til en streng:
# ----------------------------- #

# gitt en array med masse strenger
@array2 = ("hei,", "jeg", "heter", "bob-kåre", "og", "jeg", "lærer", "perl");

$var2 = join " ", @array2;
# $var2 vil nå inneholde "hei, jeg heter bob-kåre og jeg lærer perl"



# -------------------------------------------------------- #
# Søke gjennom en array etter matchende verdier #
# -------------------------------------------------------- #

@array = ("hei", "her", "henter", "hesten", "helsa", "hennes", "tushen");

@matches = grep /hen/, @array;

# @matches vil nå inneholde ("henter", "hennes", "tushen")
# fordi alle dem inneholder 'hen' som vi søkte etter




# ---------------- #
# sortere arrays #
# ---------------- #

@array = (1, 6, 3, 9, 2, 4, 0, 7, 8, 5);

# sortere
@sorted_array = sort @array;

# @sorted_array vil nå inneholde (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

# bytte rekkefølgen
@omvendt_array = reverse @sorted_array;

# @omvendt_array vil nå inneholde (9, 8, 7, 6, 5, 4, 3, 2, 1, 0)


# ------------------------------------- #
# alternativ måte å lage arrays på #
# ------------------------------------- #

@array = qw/hei og hopp og fade rullan dei/;

# @array vil nå inneholde ("hei", "og", "hopp", "og", "fade", "rullan", "dei");

for mer info:
http://www.perldoc.com/perl5.8.0/pod/perlop.html#Regexp-Quote-Like-Operators


Endret av Torbjørn
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...