000
24.02.2009, 14:51 Uhr
Dirk1980
|
Hallo zusammen,
zur Zeit lerne ich Perl und beschäftige mich mit dem Kapitel Dereferenzierung.
Perl: |
my @test_array = (0, 1, 2, 3, 4, 5); my $ref_test_array = \@test_array;
#variante 1 print @{$ref_test_array}[3];
print "\n";
#variante 2 print ${$ref_test_array}[3];
#variante 3 print $ref_test_array->[3]
|
Mich hat es verwundert, dass Variante 2 funktioniert, um ein Array zu dereferenzieren und dann auf das Element zuzugreifen. Warum funktioniert Variante2?
Variante 1 und 3 finde ich viel logischer. Bei Variante 1 und 3dereferenziert man das Array und greift dann auf ein Element zu. Bei Variante 2 dereferenziert man das Array mit $ anstatt @. Das finde ich unlogisch.
Wie ist eure Meinung hierzu? Findet ihr auch, dass man Variante 2 meiden sollte.
Gruß Dirk |