in reply to Re^2: Hash Question
in thread Hash Question
use strict; use warnings; my %sequence; while (my $seq = <DATA>) { if ($seq =~ /^(\w+)\s*=>\s*(\d+)/) { $sequence{$1} = $2 unless defined $sequence{$1} && $sequence{$1} > + $2; } } for my $key (sort keys %sequence) { print "$key $sequence{$key}\n"; } __DATA__ CIMG_00046 => 399 CIMG_00047 => 865 CIMG_00048 => 330 CIMG_00048 => 506 CIMG_00053 => 167 CIMG_00063 => 468 CIMG_00063 => 467 CIMG_00063 => 466 CIMG_00063 => 469 CIMG_00063 => 460 __END__ CIMG_00046 399 CIMG_00047 865 CIMG_00048 506 CIMG_00053 167 CIMG_00063 469
Hashes cannot have multiple same-named keys at the same level.
perl -le ' use Data::Dump qw/dump/; %hash = { a => 3, a => 2, a => 1, b => 6, }; print dump \%hash; ' { a => 1, b => 6 }
|
|---|