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

gurpreetsingh13 has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks, I believe this must be something very simple..might be I am missing something.

For Array length, we use either $#<array-name> or scalar(<array>) or something with print to force a scalar context.

How can we create runtime arrays using range operator and get immediate length of the same.

Tried a few things and searched too, but can't find the solution.

This works-
perl -e 'my @a="aa".."zz"; print "Length=".@a;'
This also works-
perl -e 'my @a="aa".."zz"; print scalar(@a);'
This also works-
perl -e 'my @a="aa".."zz"; print @#a;'

Just if I need to do it in a single statement..

Syntax error thrown-

perl -e 'print length($("aa".."zz"));'

Syntax error thrown

perl -e 'print length(@("aa".."zz"));'

Even if I force scalar context,syntax error thrown.

perl -e 'my $len=@("aa".."zz");print $len;'

Might be I am forgetting something basic or so. Need your help please.

PS: Please don't advice on strict and warnings etc. This is just something quick and dirty.