in reply to Unique key identifer?

Maybe I'm misreading this and I'm not saying this is the best way to do it, but:

push @{$strands{$key}}, $value;

Looks like it should be:

$strands{$key} .= $value;

i.e. A hash value may contain both a '-' and a '+'.