Thread Subroutinen und globale/lokale Variablen (4 answers)
Opened by DieJenny at 2008-08-11 15:54

DieJenny
 2008-08-11 15:54
#113348 #113348
User since
2008-08-11
2 Artikel
BenutzerIn
[default_avatar]
Hallo,

mit Perl beschäftige ich mich noch nicht sehr lange.
Nun bin ich auf ein kleines Problem gestoßen:
Im folgenden Code habe ich ein Array von Arrays, auf das in der Subroutine "Kreisfrei" zugreifen möchte und in @weg abspeichern. Dort wird @weg verändert, @matrix soll aber unangetastet bleiben.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl
use strict;

my @matrix;
@matrix = ( [0,1,0,0,0,0,1],
[1,0,0,0,0,0,0],
[1,1,0,1,0,0,1],
[1,1,1,0,1,0,0],
[1,1,1,1,0,1,0],
[1,1,1,1,1,0,0],
[1,1,1,1,1,1,0]
);
Kreisfrei (@matrix); # Rufe Subroutine auf
sub Kreisfrei{
my @weg=@_;
# mache irgendwas (auch in anderer Subroutine)
}


Leider ist @matrix nach der Kreisfrei Subroutine mit @weg (das ich im Sub geändert habe) überschrieben.

Hat jemand eine Idee, wie ich @matrix retten kann?

Vielen Dank,
Jenny

View full thread Subroutinen und globale/lokale Variablen