http://www.perlmonks.org?node_id=1037422


in reply to Re^3: Array length with range operator
in thread Array length with range operator

Or insert commata and count them ;-)

perl -wE "say 1 + join(',','aa' .. 'zz') =~ tr/,//;"

Replies are listed 'Best First'.
Re^5: Array length with range operator
by AnomalousMonk (Archbishop) on Jun 06, 2013 at 19:04 UTC

    But that's back to giving you the number of elements or, in general, something based on that number. De-referencing from  $#{[ LIST ]} gives you the highest index even if someone's been messing with  $[ (but Don't Do That!).

    Although why anyone would want to know the highest index of an array that no longer exists at the moment the datum is produced is beyond me — but then, the whole do-it-in-one-statement fixation escapes me, so...

    >perl -wMstrict -lE "say 1 + join(',','aa' .. 'zz') =~ tr/,//; ;; $[ = 2; say $#{[ 'aa' .. 'zz' ]}; " Use of assignment to $[ is deprecated at -e line 1. 676 677

      Probably the original question was: "How many combinations of two letters are there?" and then someone thought: "We should be using Perl to answer the question."