1 2 3 4
perl -e '@array; $array[2]=undef; foreach(@array){print "yes"}' # Output: yesyesyes
1 2 3 4 5
perl -e '@array; $array[2]=undef; $array[2][2]=undef; foreach($array[2]){print "yes"}' # Output: yes
foreach( @{$array[2]} ){print "yes"}
1 2 3 4 5 6
for my $element (@{ $array[2] }) { say $element; } for my $i (0 .. $#${ $array[2] }) { say $array[2]->[ $i ]; }
2013-02-08T14:46:10 pq@$arrayref, das ist kurz für @{ $arrayref }
1 2 3 4
perl -e '@array; $array[2][2]=undef; foreach(@$array[2]){print "yes "}' yes
2013-02-09T18:21:52 topegIn Perl5 ist so was ein Fehler
2013-02-09T18:21:52 topegKorrekt.
Wobei zu beachten ist:
In Perl5 ist so was ein Fehler: @array[2]
QuoteDa du Perl sagst: Gib mir aus "array" ein Array zurück.
QuoteWas in dem Fall nicht möglich ist, da du nur ein Element angibst,
1
2
3
4
5
$ 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
2013-02-08T14:36:11 Student87