in reply to merge duplicate values in hash

G'day eric_newbie,

Welcome to the monastery.

$hash{$seq++} = { BIN => $bin_num, COUNT => $count, }; creates a complex hash of hashes structure. I don't believe this is what you want; it's probably the reason you were unable to progresas your code beyond this point.

I would've started by storing the file data in a simple array; then used a simple hash for the merge.

#!/usr/bin/env perl -l use strict; use warnings; my @init = qw{1 20 2 0 2 1 3 0 3 0 3 1 7 0 8 2 9 1 9 2 10 3}; print "@init"; my %merge; $merge{$init[$_]} += $init[$_+1] for grep { not $_ % 2 } 0 .. $#init; my @out = map { $_, $merge{$_} } sort { $a <=> $b } keys %merge; print "@out";

Output:

1 20 2 0 2 1 3 0 3 0 3 1 7 0 8 2 9 1 9 2 10 3 1 20 2 1 3 1 7 0 8 2 9 3 10 3

[For future reference, please see the guidelines in "How do I post a question effectively?".]

-- Ken