[Edinburgh-pm] help again with lists

Julian Turnbull jules-turnbull at zetnet.co.uk
Mon Mar 19 11:53:32 PDT 2007


Chris Benson wrote:

>On Sun, Mar 18, 2007 at 05:04:48PM +0000, Andrew Smith wrote:
>  
>
>>Having,  I think fully understood list assignments with () and qw, I've 
>>moved on to dabbling  with lists in code.
>>Why can I not refer to the number of elements in @words1 using  $words1 
>>in lines 6 & 7 in the attached test program  ?
>>    
>>
>
>The clue is:
>	Global symbol "$words1" requires explicit package name at - line 4.
>Which is: 
>	my $words1count=$words1;
>
>$words1 hasn't been mentioned anywhere, you need to do:
>	my $words1count = @words1;
>And that enables the rest of the program to work:
>words1
>------
>There are 5 elements  in list @words1
>abc:1:2:3:def
>1
>2
>
>Best wishes
>  
>
Just to spell it out a little more, the scalar $words1 has no connection 
(apart from spelling) with the list @words1, or even with that list's 
elements $words1[0], $words1[1], etc.  However, using the list @words1 
in a scalar context happens to give the value you are looking for, the 
number of elements in the list.

Julian.



More information about the Edinburgh-pm mailing list