in reply to Re^2: Required guidance to simplify this program
in thread Required guidance to simplify this program

For each name in the array, if the name already exists in the hash as key, then increment the value by 1; but if not, then add the name to the hash with the initial value of 1.
Hope it helps.

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me
  • Comment on Re^3: Required guidance to simplify this program

Replies are listed 'Best First'.
Re^4: Required guidance to simplify this program
by vyeddula (Acolyte) on Jun 04, 2013 at 17:47 UTC

    May be i am missing a basic understanding here.In order to understand what that block does practically i wrote a small program below

    #!/usr/bin/perl -w use strict; my @array=qw(John Sue Larry Mary John Mary Larry John Joe Lisa John Ma +ry); my %hash; foreach (@array) { $hash{$_}++; } foreach (keys %hash) { print"Key is : [$_]\n"; } foreach (values %hash) { print "Value is : [$_]\n"; }

    After executing the code the output i got is

    Output: key is :joe Key is :Lisa and so on..and value is no.of time they repeated. I realized the block of foreach array is assigning the list to hash but my doubt is nowhere i assigned array elements to hash and how come keys got assigned and values got assigned from array elements. I am new to programming.I guess i am missing basic understanding pardon me and guide. Thanks