Thread Übergeben von 3 arrayreferenzen beim Fktaufruf (7 answers)
Opened by ariser at 2016-09-16 15:41

ariser
 2016-09-16 15:41
#185378 #185378
User since
2012-08-17
44 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen, irgendwie hab ich einen Knick im Denkschlauch.

Ich übergebe in einem Funktionsaufruf drei Arrayreferenzen die auf je ein anonymes Array zeigen, mit je zwei Elementen.

Aufruf:
Code (perl): (dl )
if ($dist <= getdistance($pref->[$idx-1], $pref->[$idx], $pt))


In der Subroutine gibt Data::Dumper das aus, was ich erwarte:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$VAR1 = [
          [
            '0',
            '0'
          ],
          [
            '3',
            '2'
          ],
          [
            1,
            1
          ]
        ];


Beim Zerflücken mache ich anscheinend was verkehrt:
Code (perl): (dl )
1
2
3
4
        my ($p0,$p1,$pt)=shift;
        print Dumper($p0);
        print Dumper($p1);
        print Dumper($pt);

ergibt nämlich:
Code (perl): (dl )
1
2
3
4
5
6
$VAR1 = [
          '0',
          '0'
        ];
$VAR1 = undef;
$VAR1 = undef;


Ich war der Meinung, dass die drei Arrayreferenzen aus dem @_ in meine drei Variablen gezogen würden, da das ja beides mal Listkontext wäre, aber irgendwie geht's nicht.

View full thread Übergeben von 3 arrayreferenzen beim Fktaufruf