#!/usr/bin/perl -w use strict; use Data::Dumper::Simple; my %codes; while (<DATA>) { chomp; my $foo = (split /:/, $_)[1]; if (!$codes{$foo}) { $codes{$foo}++; } } print Dumper(%codes); __DATA__ HIT: code2 HIT: code3 HIT: code1 HIT: code90 HIT: code2 HIT: code34 HIT: code90
Which prints:
%codes = ( ' code90' => 1, ' code2' => 1, ' code3' => 1, ' code2 ' => 1, ' code1' => 1, ' code34' => 1 );
Actually, you don't really need the "if" block inside the while loop. You could just increment each hash value regardless. That won't give you any duplicates - it will just mean that some have a higher numerical value. Which (if I understand correctly) shouldn't make any difference.
Hope this helps,
Darren :)
In reply to Re: help on how to create a hash look up table requested.
by McDarren
in thread help on how to create a hash look up table requested.
by Angharad
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |