Prints:use strict; use Data::Dumper; my @searchwords = qw|Bird SnaKe|; $|++; print "MINIMUM NUMBER OF MATCHES PLEASE: "; my $minMatches; $minMatches = <STDIN>; chomp($minMatches); use XML::Simple; undef $/; open(H, qq|oo.dat|) or die $!; my $filestuff = <H>; close(H); #print $filestuff; my $newXML = XMLin($filestuff); my $ref = $newXML; #stripe your values foreach my $word (@searchwords) { foreach(keys %$ref){ if (index($ref->{$_}->{words},lc($word)) > 0){ $ref->{$_}->{confidence}++; push @{$ref->{$_}->{WORDSFOUND}}, $word; } } } #print the ones you like foreach(keys %$ref){ my $outline = qq|FOUND @{$ref->{$_}->{WORDSFOUND}} in $_\t| . $ref- +>{$_}->{words} . qq|\n|; print $outline if ($ref->{$_}->{confidence} >= $minMatches); }
perl useoo.pl MINIMUM NUMBER OF MATCHES PLEASE: 1 FOUND Bird in MS_1 dog, cat, fish, bird FOUND Bird in MS_2 dog, cat, fish, bird, cow, goat FOUND Bird SnaKe in MS_3 dog, cat, fish, bird, snake, orange C:\Temp>perl useoo.pl perl useoo.pl MINIMUM NUMBER OF MATCHES PLEASE: 2 FOUND Bird SnaKe in MS_3 dog, cat, fish, bird, snake, orange
Celebrate Intellectual Diversity
In reply to Re: Finding some/all of given words in a file
by InfiniteSilence
in thread Finding some/all of given words in a file
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |