http://www.perlmonks.org?node_id=626682


in reply to Counting the Times Two Unknown Values Appear Together

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!