सरणी के आकार को प्रिंट करने के विभिन्न तरीके हैं। यहाँ सभी के अर्थ हैं: कहते हैं कि हमारी सरणी हैmy @arr = (3,4);
विधि 1: अदिश
यह सरणियों का आकार प्राप्त करने का सही तरीका है।
print scalar @arr; # prints size, here 2
विधि 2: सूचकांक संख्या
$#arr
किसी सरणी का अंतिम सूचकांक देता है। इसलिए यदि सरणी 10 आकार की है तो इसका अंतिम सूचकांक 9 होगा।
print $#arr; # prints 1, as last index is 1
print $#arr + 1; # Add 1 to last index to get array size
हम यहां 1 को जोड़ रहे हैं, जिसमें 0-अनुक्रमित के रूप में सरणी पर विचार किया गया है । लेकिन, अगर इसका शून्य आधारित नहीं है, तो यह तर्क विफल हो जाएगा ।
perl -le 'local $[ = 4; my @arr=(3,4); print $#arr + 1;' # prints 6
उपरोक्त उदाहरण 6 को प्रिंट करता है, क्योंकि हमने इसके प्रारंभिक सूचकांक को 4. पर सेट किया है। अब सूचकांक क्रमशः 3 और 4 के साथ 5 और 6 होगा।
विधि 3:
जब स्केलर संदर्भ में एक सरणी का उपयोग किया जाता है, तो यह सरणी का आकार लौटाता है
my $size = @arr;
print $size; # prints size, here 2
वास्तव में विधि 3 और विधि 1 समान हैं।
print 0+@arr
,print "".@arr
,print ~~@arr