also, erst einmal sei gesagt, dass es in Perl keine n-dimensionalen arrays gibt, sondern nur arrays mit referenzen auf weitere arrays. das ist deshlab wichtig, da die eine referenz auf ein array mit fünf, die anedere aber auf ein array mit sechs einträgen verweisen kann. man kann auch einen einfachen scalaren wert oder eine referenz auf einen hash dazwischen haben. aber nehmen wir mal an du hast alles gleich aufgebaut:
erst mal für normale arrays, das ist relativ einfach:
scalar( @array ); # anzahl der felder eines arrays
$#array; # index des letzten eintrags des arrays
bei "mehrdimensionalen" arrays, nimmst du jetzt die referenz, die dich interessiert, und dereferenzierst diese, indem du geschweifte klammern benutzt
scalar( @{ $array[0] } ); # anzahl der felder eines arrays
$#{ $array[0] }; # index des letzten eintrags des arrays
ich hoffe das war einigermassen verständlich...
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B