in reply to help on how to create a hash look up table requested.
#!/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 :)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: help on how to create a hash look up table requested.
by johngg (Canon) on Aug 10, 2006 at 20:57 UTC | |
|
Re^2: help on how to create a hash look up table requested.
by sh1tn (Priest) on Aug 10, 2006 at 21:33 UTC |