My apologies for some of the ambiguity, I'll do what I can to clear it up. From the data, only one new group is added at a time, and it will never include parts of an group that has already been established eg. if A:B has been looped through B:C or A:C cannot exist, but C:D can. Only one new group or single element are added at a time. Here's an example list of what I mean: 51:50, 51:50:47, 51:50:47:42, 37:30, 51:50:47:42:37:30 and so on. Here's my current loop which only works for groups of two such as A:B.
foreach (0..$#names) { my $dist = (($distances[$_]*$xaxisstep)+42); my @tmp = split /:/, $names[$_]; my @tmp1; if (($#tmp+1)==2) { foreach (@tmp){ $_++; print PS " 42.00 $labelmarks{$_} mt $dist $labelmarks{$_} +ls\n"; } print PS " $dist $labelmarks{${tmp[0]}} mt $dist $labelmarks{$ +{tmp[1]}} ls\n"; $xlabelmarks{$tmp[0].":".$tmp[1]}= $dist; $labelmarks{$tmp[0].":".$tmp[1]} = (($labelmarks{$tmp[0]}+$lab +elmarks{$tmp[1]})/2); delete ($labelmarks{$tmp[0]}); delete ($labelmarks{$tmp[1]}); }
In reply to Re: Scanning Hashes for Repeated values
by Anonymous Monk
in thread Scanning Hashes for Repeated values
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |