Hi samjesse,

  using a for loop to iterate the array @subjects and at each instances,
count the number of  occurrence of each *member* [or element] of the array
@subjects, [ and STORE] using a hash %subjects [ which of course is
different from the array @subjects, though
  the same name was used ]. The auto-increment "++", is used here to
increase [ or update], the number of occurrence of the array element, if
such is available.

   Please NOTE: 1. Am sure that both $msg and %subjects are declared,
somewhere in     your code.
                    2. Use different names or [ naming ] for your variables
[ as in the case of @subjects and %subjects ], it will help clean codes and
less confusion for you later or others --  of course not for perl!

   Am sure others will mention use of "strict and warnings",  which indeed
is a good practice!

     <codes>
#!/usr/bin/perl -w
use strict;

   my @subjects=qw{maths english physics chemistry maths futhermaths};
   my %check_subject;
 foreach my $msg (@subjects) {
    $check_subject{$msg}++;
 }

    while(my($key,$value)=each %check_subject){
         print $key," ==> ",$value,"\n";
     }

    </codes>

Reply via email to