in reply to Saving array duplicates, not using a hash?
console output#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %seen = (); open(FH,">>raise.txt"); while(<DATA>) { my ($name, $phoneno, $address, $date, $salary) = split(/:/); next if $seen{$name}++; #$seen{$name}++; $salary += ($salary*10)/100; print FH "$name:$phoneno:$address:$date:$salary\n"; } close(FH); map { print "$_ appread $seen{$_} times in the file\n" if($seen{$_} > 1) +; }keys(%seen); __END__ Barbara Kerz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/15/46:268 +500 Barbara Kerz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/15/46:268 +500 Barbara Kerz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/15/46:268 +500 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:2 +45700 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:2 +45700 Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale,CA 94087:5/19/66 +:34200 Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale,CA 94087:5/19/66 +:34200 Lesle Kerstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62: +52600 JonDeLoach:408-253-3122:123 Park St., San Jose, CA 94086:7/25/53:85100
raise file outputBarbara Kerz appread 4 times in input file JonDeLoach appread 2 times in input file Norma Corder appread 3 times in input file Lesle Kerstin appread 2 times in input file Tommy Savage appread 3 times in input file
Update: commented out one of the hash increments as mentioned by GrandFatherBarbara Kerz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/15/46:295 +350 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:2 +70270 Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale,CA 94087:5/19/66 +:37620 Lesle Kerstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62: +57860 JonDeLoach:408-253-3122:123 Park St., San Jose, CA 94086:7/25/53:93610
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Saving array duplicates, not using a hash?
by GrandFather (Saint) on Sep 28, 2008 at 06:37 UTC |