in reply to nested combinations: algorithm advice?
Assuming that's what you're looking for, you don't need to worry about combinations. Compare the first element with every other element. Then compare the second with every other element except the first. Repeat until complete.
Here's a possibly cleaner way to the same result. If your data is more complex (it probably is ;) you may need to tweak the regex.
#!/usr/bin/perl use strict; use warnings; chomp (my @lines = <DATA>); for my $i (0 .. $#lines) { (my $re = $lines[$i]) =~ s/_/|/g; # create $re outside the inner l +oop for my $j ($i + 1 .. $#lines) { my $count = () = $lines[$j] =~ /$re/g; if ($count >= 2) { print "$lines[$i] and $lines[$j]\n"; } } } __DATA__ one_two one_three_two three_one one_four four_three_one
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: nested combinations: algorithm advice?
by Jasper (Chaplain) on Sep 22, 2004 at 17:11 UTC | |
Re^2: nested combinations: algorithm advice?
by revdiablo (Prior) on Sep 22, 2004 at 16:50 UTC | |
by bmann (Priest) on Sep 22, 2004 at 18:31 UTC |