Rob Dixon said:

> Li Ngok Lam wrote:
>> My method  sounds stupid, but still works :
>>
>> my @array = ('123', 'abc', 'def',  1..9);
>> my $len_of_array =  0 ;
>> foreach my $elem(@array)
>> {    $len_of_array += length($elem) }
>> print $len_of_array ; # I got '18'
>>
>> my %hash = (1=>2, 2=>3, 3=>4);
>> foreach my $key(keys(%hash))
>> {    $len_of_hash += length($key) + length($hash{$key}) }
>> print $len_of_hash ; # I got '6'
>>
>> I suppose there should be another better and faster way to done this,
>> any suggestion ?
>
> It really depends on what you expect to do with the result that
> you're getting.

Rob is correct, but the following code is another way to get the results
you had:

  local $" = "";
  print length "@array";
  my @tmp = %hash;
  print length "@tmp";

However, I don't think there's anything particularly wrong with your code,
which can't be said for mine.

-- 
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to