2013-02-09T18:21:52
topegKorrekt.
Wobei zu beachten ist:
In Perl5 ist so was ein Fehler: @array[2]
nein, das ist kein fehler, mit warnings wirst du aber gewarnt, weil du eben nur ein element haben willst und vermutlich $ statt @ verwenden wolltest.
QuoteDa du Perl sagst: Gib mir aus "array" ein Array zurück.
kein array, sondern ein slice.
QuoteWas in dem Fall nicht möglich ist, da du nur ein Element angibst,
möglich ist es. ein slice von einem element ist völlig legitim.
beispiel:
$ perl -wE' my @a = 0..5; my @b = 3; say @a[@b]'
3
$ perl -wE' my @a = 0..5; my @b = 3; say @a[3]'
Scalar value @a[3] better written as $a[3] at -e line 1.
3
der punkt ist, beim ersten beispiel willst du offensichtlich ein slice mit *möglicherweise* mehreren elementen. keine warnung.
beim zweiten schreibst du explizit nur ein element hin, daher die warnung.