Well, assuming that you can spot the position and save it as
$sport, then you already have something to compare with. If I'm not mistaken, do you mean something like (untested):
my %count;
my $total;
while (<FILE>) {
chomp;
my($src, $sport) = (split /;/)[9,12];
my $number_of_sport_shows_on_this_line = () = /$sport/gi;
$count{$.} = $number_of_sport_shows_on_this_line;
$total += $number_of_sport_shows_on_this_line;
}
# iterate %count to see how many the pattern shows up on each line
# $total is the total number the pattern shows up in the file
If you avoid regexes:
my(%count, $total);
while (<FILE>) {
chomp;
my @fields = split /;/;
my %seen;
$seen{$_}++ for @fields;
my $target = $fields[12];
$count{$.} = $seen{$target};
$total += $seen{$target};
}
Update: (15-07-2007) I misread the title, I missed the "appear together" part, and I second kyle's reply.
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!