Arrays perl

From Teknologisk videncenter
Revision as of 09:13, 5 June 2009 by Heth (talk | contribs) (New page: = Referencer til arrays = == Overføre array til subroutine == Overfør en reference til arrayet. (Subroutinen får adressen på arrayet og arbejder på det originale Overfør reference ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Referencer til arrays

Overføre array til subroutine

Overfør en reference til arrayet. (Subroutinen får adressen på arrayet og arbejder på det originale Overfør reference til subroutine. Eksempel.

#Opret et array
my @array = qw(A B C D E F G H I J);
#--------------------------------------------
print "Det originale array\n";
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}
#--------------------------------------------

mercantec(\@array);

#--------------------------------------------
print "\nEfter kald til subroutine mercantec\n";
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}
#--------------------------------------------


sub mercantec() {
my $a = shift;
$a->[2] = Z;  # -> betyder reference til 
}

Indsætte og fjerne elementer i et array

Eksmepler på pop,push,shift,unshift og splice herunder

my @array = qw(A B C D E F G H I J);

#--------------------------------------------
print "Det originale array\n";
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}

#--------------------------------------------
print "\n\nVi ønsker at tilføje et element til sidst i arrayet.\n";
push(@array,"K");
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}

#--------------------------------------------
print "\n\nVi ønsker at tilføje et element i starten af arrayet.\n";
unshift(@array,"=");
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}

#--------------------------------------------
print "\n\nVi ønsker at fjerne det første element.\n";
shift(@array);
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}

#--------------------------------------------
print "\n\nVi ønsker at fjerne det sidste element.\n";
pop(@array);
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}

#--------------------------------------------
print "\n\nVi ønsker at tilføje et element mellem 3 og 4.\n";
splice(@array,3,0,"*");
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}

#--------------------------------------------
print "\n\nVi ønsker at fjerne element 3 og 4.\n";
splice(@array,3,2);
for ( my $i=0; $i <= $#array ;$i++ ) {
	print $i,":",$array[$i]," ";
}
#-----------------------------------------