Das ist Murks. Wenn du ein Array einem Skalar zuweist, ist das Ergebnis das letzte Element:
my $tmp = ('c', 'd', 'e', 'f', 'g');
print $tmp;
Sorry, aber \*das\* ist noch größerer Murks - ein Array ist nunmal keine Liste. Entweder Du verwendest eine Arrayreferenz, dann musst Du \*erst\* dereferenzieren und \*dann\* den skalaren Kontext anwenden:
~~~perl
my $tmp = ['c', 'd', 'e', 'f', 'g'];
print scalar @$tmp;
Oder Du verwendest das korrekte Sigil:
my @tmp = ('c', 'd', 'e', 'f', 'g');
print my $anz = @tmp;
Siechfred
--
Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.
Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.