in reply to keep only unique elements in an array displaying number of duplcates.

Hi john.tm,
While others have pointed out what you could do to get desired output, I think it wouldn't be out of place to also note a few things:

  1. ..I have to run a report from 2 csv files..
    Use tested modules, instead of hand-picking commas. In this case for CSV files use Text::CSV_XS or Text::CSV
  2. Use lexical variable name instead of barewords for file handle. Also use 3 augments open function like open my $file, '<', $filename or die '...: $!';

    Why use this
    while(<DATA>){ ... my $line = $_; ... }
    when you can do it once:
    while(my $line = <DATA>){ ... }
  3. Why loop through the file(s) twice, once to get the total and then to get the number of occurrence? When you can actually do it once like so:
    use warnings; use strict; use Data::Dumper; use List::Util qw(sum); my %seen; while (<DATA>) { chomp; $seen{$_}++; } print Dumper \%seen; my $total = 0; $total += $_ for values %seen; print $total; print sum( values %seen ); # sum from List::Util __DATA__ james dave mike ken jon jon ken jon mike james dave mike ken jon jon

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